Background
Issue #60 generalized particle→grid deposition to arbitrary B-spline order P=1,2,3 on the live MeshGrids/CartesianGrid path. The implementation guards against spline_order > 1 on tripolar grids: WaveGrowth2D errors early if a tripolar grid is combined with a higher-order spline, because the existing N_TripolarNorth seam handling in ParticleInCell.push_to_grid! only remaps a single deposition point across the fold.
Problem
A higher-order stencil deposits to (P+1)^2 points, and points straddling the tripolar seam each need independent remapping; the north-fold also flips the x-index, so stencil offsets do not map linearly across the seam. The current single-point TripolarNorthBoundary logic does not generalize.
Task
Generalize the tripolar seam remap so each of the (P+1)^2 stencil points is folded/remapped independently (handling the x-flip), making P=2 (TSC) and P=3 (cubic) deposition correct and conservative on tripolar grids. Then remove the constructor guard in src/Models/WaveGrowthModels2D.jl.
References
Background
Issue #60 generalized particle→grid deposition to arbitrary B-spline order P=1,2,3 on the live
MeshGrids/CartesianGridpath. The implementation guards againstspline_order > 1on tripolar grids:WaveGrowth2Derrors early if a tripolar grid is combined with a higher-order spline, because the existingN_TripolarNorthseam handling inParticleInCell.push_to_grid!only remaps a single deposition point across the fold.Problem
A higher-order stencil deposits to
(P+1)^2points, and points straddling the tripolar seam each need independent remapping; the north-fold also flips the x-index, so stencil offsets do not map linearly across the seam. The current single-pointTripolarNorthBoundarylogic does not generalize.Task
Generalize the tripolar seam remap so each of the
(P+1)^2stencil points is folded/remapped independently (handling the x-flip), making P=2 (TSC) and P=3 (cubic) deposition correct and conservative on tripolar grids. Then remove the constructor guard insrc/Models/WaveGrowthModels2D.jl.References
src/ParticleInCell.jl—push_to_grid!(N_TripolarNorthbranch),TripolarNorthBoundarysrc/Models/WaveGrowthModels2D.jl— thespline_order > 1tripolar guard added in Generalize PIC deposition to arbitrary B-spline order #60