i have access to a cluster with a job time limit of 24 hours, so i’d like to figure out how to restart daily my multiple-walker metadynamics simulation with COLVARS package.
my production simulation has >1M atoms on 20 nodes of 80 cores partitioned by node (ie. lmp -p 20x80), so i created a minimal example with LJ benchmark:
colvars-lj.in
# mpirun -np 8 lmp_macos -in colvars-lj.in -p 4x2
# mpirun -np 8 lmp_niagara -in colvars-lj.in -p 4x2
units lj
atom_style atomic
# ERROR: Fix colvars requires an atom map, see atom_modify (src/COLVARS/fix_colvars.cpp:389)
# https://matsci.org/t/problems-with-using-fix-colvars/20910/2
atom_modify map yes
lattice fcc 0.8442
region box block 0 20 0 20 0 20
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 20 check no
fix 1 all nve
fix 2 all colvars colvars-lj.colvars output colvars-lj seed 12345
run 100
write_restart colvars-lj-%.restart
colvars-lj-restart.in
# mpirun -np 8 lmp_macos -in colvars-lj-restart.in -p 4x2
# mpirun -np 8 lmp_niagara -in colvars-lj-restart.in -p 4x2
# ERROR: Fix colvars requires an atom map, see atom_modify (src/COLVARS/fix_colvars.cpp:389)
# https://matsci.org/t/problems-with-using-fix-colvars/20910/2
atom_modify map yes
read_restart colvars-lj-%.restart
neighbor 0.3 bin
neigh_modify delay 0 every 20 check no
fix 1 all nve
fix 2 all colvars colvars-lj.colvars output colvars-lj seed 12345
run 100
colvars-lj.colvars
colvar {
name foo
rmsd {
atoms { atomNumbersRange 1-3 }
refPositions { (0,0,0) (0,0,0) (0,0,0) }
}
lowerBoundary 0
upperBoundary 30
width 0.25
}
metadynamics {
colvars foo
hillWeight 0.1
hillWidth 2.0
newHillFrequency 10
multipleReplicas on
replicasRegistry /tmp
replicaUpdateFrequency 100
}
$ less log.lammps.2
colvars: Error: in the state file , the “metadynamics” block has a different replicaID (1 instead of 2).
ERROR on proc 0: Fatal error in the collective variables module.
(src/COLVARS/colvarproxy_lammps.cpp:294)
should i be using a fix_modify Colvars load "<oldjob>.colvars.state" for each replica ? Based on the COLVARS LAMMPS manual, this is not needed:
“Note that the Colvars state is already loaded automatically as part of the LAMMPS restart file, when this is read via the LAMMPS read_restart command; the “load” method allows to load a different state file after the fact." [COLVARS LAMMPS manual 3.6.1]
Is there an issue restarting with partitions ? Any other suggestions please …
This is happening with both macos and linux versions, recent lammps git repos ( 7 Feb 2024 and 17 Apr 2024 ).