openfe icon indicating copy to clipboard operation
openfe copied to clipboard

Time reporting has float error

Open davidoskky opened this issue 6 months ago • 1 comments

Hello, I'm running the development version. The reported time presents variations in small decimal numbers, I'm wondering if that is the real time of the simulation or if it is a floating point approximation. I imagine the latter since the timestep is an integer number.

Versions: openfe 0.15.0+315.g60a5eca openfe-analysis 0.2.0 gufe 0.10.0+25.g6475936

#"Step","Time (ps)","Potential Energy (kJ/mole)","Kinetic Energy (kJ/mole)","Total Energy (kJ/mole)","Temperature (K)","Box Volume (nm^3)","Density (g/mL)","Speed (ns/day)"
275250,1101.0000000016123,-1513177.195653773,281099.61265226157,-1232077.5830015114,300.53213164335966,1110.8722854062532,1.0113971314879227,0
275500,1102.0000000015887,-1514694.6284266198,281524.2596771021,-1233170.3687495177,300.986134672276,1111.351750001563,1.0109607897839161,62.5
275750,1103.000000001565,-1516134.323078569,281896.2790246153,-1234238.0440539536,301.383871853291,1111.5121505590835,1.0108148996339694,63.1
276000,1104.0000000015414,-1515533.9000263875,281266.84228145867,-1234267.0577449289,300.7109219179614,1111.7632311723871,1.0105866171923306,63.1

The script I'm running:

protein = openfe.ProteinComponent.from_pdb_file(protein_file)
solv = openfe.SolventComponent(ion_concentration=0.15 * unit.molar)
simulation_system = ChemicalSystem({"solvent": solv, "protein": protein})
md_settings = PlainMDProtocol.default_settings()
protocol = PlainMDProtocol(md_settings)
dag = protocol._create(
    stateA=simulation_system, stateB=simulation_system, mapping=None
)
protocolRunner = dag[0]
result = protocolRunner.run()

davidoskky avatar Feb 15 '24 15:02 davidoskky