# Python function that implements a loop of short runs # calls back to LAMMPS via "lmp" instance # lammps() must be called with ptr=lmpptr for this to work def loop(N,cut0,thresh,lmpptr): print "LOOP ARGS",N,cut0,thresh,lmpptr from lammps import lammps lmp = lammps(ptr=lmpptr) natoms = lmp.get_natoms() for i in range(N): cut = cut0 + i*0.1 lmp.set_variable("cut",cut) # set a variable in LAMMPS lmp.command("pair_style lj/cut ${cut}") # LAMMPS command #lmp.command("pair_style lj/cut %d" % cut) # LAMMPS command option lmp.command("pair_coeff * * 1.0 1.0") # ditto lmp.command("run 10") # ditto pe = lmp.extract_compute("thermo_pe",0,0) # extract total PE from LAMMPS print "PE",pe/natoms,thresh if pe/natoms < thresh: return