`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).
`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`:
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:
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).