Skip to content

density profile not checked for periodicity in MaxwellianFluidModel #1303

Description

@nicolasaunai

`pyphare/pyphare/pharein/maxwellian_fluid_model.py` validate1d/2d/3d check
periodicity of bx/by/bz and each population's vbulk*/vth*, but not `density`:

functions = ("vx", "vy", "vz", "vthx", "vthy", "vthz")   # lines 264, 328, 416

A non-periodic density profile on a periodic domain passes silently — no
warning, no strict-mode error. Fix: add "density" to `functions`.

Docstring (lines 80-85) claims "every profile function... is checked for
periodicity", explicitly naming density. That's currently false.

Bonus bug, same file, validate1d line 261:

is_periodic &= np.allclose(b_i(xL), b_i(xL), atol=atol, rtol=0)

Compares b_i(xL) to itself, not b_i(xR) (2D/3D do L vs R correctly). Always
True → 1D B-field periodicity check is a no-op. Fix: second arg should be
b_i(xR).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status
    Do me  👋

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions