MDAnalysis2.9.0 LinearDensity on genuine existing20ps NVT Martini3v2 DPPCpore trajectory (5426beads,198DPPC+3050W,41frames0..20ps,exact80x80x100A orthogonalbox).
No newMD or box edits. Initial proteinNPT candidate rejected because box varies.
Mass/charge/bond metadata come from actual Gromacs2026.4 TPR dump, not guessing: bead masses54/72u, DPPC NC3+1e and PO4-1e.
Native atoms/residues/fragments grouping, unwrap then appropriate wrap, fullxyz mean/std mass/charge densities, independent rawgeometry graph BFS and floor+bincount validation.
Native charge density conversion to e/A3 uses MDAnalysis units.constants[N_Avogadro]*1e-24. Standarddeviation is frame fluctuation, not standarderror.
Native allaxes use50shared2A bins over0..100A; x/y>80A are grid padding, not physical vacuum. Crop each displayed axis at its actual box length.
This is a short CG-model thermal-relaxation stage, not equilibrium or experimental molecular mass density.
bash run.sh
bash verify.sh
bash plot.sh
