1__author__ = "Dilawar Singh" 2__email__ = "dilawar@subcom.tech" 3 4from pathlib import Path 5import numpy as np 6 7import smoldyn 8 9sdir = Path(__file__).parent 10 11 12def test_multiple_iteration(): 13 modelfile = sdir / "min.txt" 14 s = smoldyn.Simulation.fromFile(modelfile) 15 16 assert s 17 assert s.getSimPtr() and s.getSimPtr() == s.simptr 18 19 print(s.start, s.stop, s.dt) 20 assert s.start == 0.0 21 assert s.stop == 500 22 assert s.dt == 0.002 23 s.addOutputData("moments") 24 s.addCommand("molmoments MinD_ATP(front) moments", "N", step=2) 25 for i in range(10): 26 print(f"\n\n=============================\nRunning iteration {i}") 27 s.run(stop=(i + 1) * 10, dt=1, start=(i * 10)) 28 data = s.getOutputData("moments") 29 for l in data: 30 print(l) 31 assert data, "No data returned." 32 assert len(data) == 6, len(data) 33 assert not np.ma.allequal(data[1], data[-1]), (data[1], data[-1]) 34 35 36if __name__ == "__main__": 37 test_multiple_iteration() 38