Repository navigation
Release v3.20.0
-
feat: new
pressure-profile-ewaldsubcommand reconstructs a complete NAMD pressure
profile, PME reciprocal-space term included, by replaying a trajectory twice and summing the
halves. NAMD will not report the whole thing in one run:SimParameters.C:6699does
if (pressureProfileEwaldOn) pressureProfileOn = 0, so a run withpressureProfileEwald on
reports the reciprocal contribution alone. The omission matters -- on one example-16 replica
the real-space integral is -16.63 mN/m and the reciprocal +26.50, so including it flips the
sign. Computing the Ewald half inline is impractical becauseComputeEwaldis gated only on
doFullElectrostaticsand so runs every step regardless ofpressureProfileFreq(14-28x per
step, i.e. 5-11 days for example 16's sampling stage); replaying evaluates once per sampled
frame instead, dividing that cost by the sampling stride. Each run self-checks against NAMD's
own reported pressure: on a 699-atom box the real-space half alone deviates by 213 bar and the
reconstruction by 1.05. Example 16 and 17 configs already pointed at this procedure in
comments; it is now a command. -
fix: example 24 stopped its
density_equilibrateon the step ceiling instead of converging.
All three replicas of a 3.19.1 sweep hit the 100000-stepmax_stepsdefault, so a reader
running the shipped example got a truncated, unconverged box. The failures were the precision
gate, not the drift tolerance: SEM/mean 7.44e-04 / 7.62e-04 / 9.54e-04 against a 6.67e-04 gate.
Acetone decorrelates slowly -- autocorrelation time 14.8-22.9 frames against a sweep-wide median
of 6.3 -- so the effective sample size never grows enough within the default. The example now
setsmax_steps: 250000, at which all three converge (steps 111120 / 199850 / 189160, rho
0.8548 / 0.8560 / 0.8574 g/cc). The default is deliberately unchanged: example 24 is the one
example that demonstrates a user needing to raise it, and acetone is not a common MD solvent. -
docs: example 24's figures came from a run that hit the ceiling. The density-convergence
figure ran out at ~104000 steps with no convergence marker while its caption described a run
that "stops once the drift in that window falls below tolerance". Both it and the companion
cell-dimension figure are regenerated from the median replica of the re-run, so the two now
agree on run length. -
docs: examples 16 and 17 now say that their pressure profiles omit the reciprocal-space term,
whypressureProfileEwaldis deliberately not set inline, and which command reconstructs the
complete profile offline.