def free_kim(self): if self.uses_neighbors: kimnl.nbl_cleanup(self.pkim) ks.KIM_API_model_destroy(self.pkim) ks.KIM_API_free(self.pkim) self.pkim = None
def __del__(self): """ Garbage collects the KIM API objects automatically """ if self.pkim: if self.uses_neighbors: kimnl.nbl_cleanup(self.pkim) ks.KIM_API_free(self.pkim) self.pkim = None
# NNeighbors, HalfNNeighbors, neighborList, RijList = set_NeighborList(pkim, coordinates, numberOfAtoms[0], cutoff[0]*4) # kimneighborlist.set_neigh_object(pkim, NNeighbors, HalfNNeighbors, neighborList, RijList) kimneighborlist.nbl_build_neighborlist(pkim) KIM_API_model_compute(pkim) except error: KIM_API_report_error(error.message,errno) # print results to screen print "--------------------------------------------------------------------------------" print "This is Test : %s" % testname print "Results for KIM Model : %s" % modelname print "Forces:" print "Atom X Y Z" for i in range(numberOfAtoms[0]): print "%2i %25.15e%25.15e%25.15e" % (i, forces[i*DIM + 0], forces[i*DIM + 1], forces[i*DIM + 2]) print "" print "Energy = %20.15e" % energy[0] print virialGlobal#, virialPerAtom try: kimneighborlist.nbl_cleanup(pkim) KIM_API_model_destroy(pkim) KIM_API_free(pkim) except error: KIM_API_report_error(error.message,errno)