Skip to content

Support higher-order (P>1) B-spline PIC deposition on tripolar grids #61

@mochell

Description

@mochell

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions