mlatom 3.18.0__tar.gz → 3.18.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. {mlatom-3.18.0/src/mlatom.egg-info → mlatom-3.18.2}/PKG-INFO +3 -3
  2. {mlatom-3.18.0 → mlatom-3.18.2}/README.md +2 -2
  3. {mlatom-3.18.0 → mlatom-3.18.2}/setup.py +1 -1
  4. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/EEEDDDD.py +1 -1
  5. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatom.py +2 -2
  6. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/__init__.py +2 -2
  7. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/al.py +7 -1
  8. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/models.py +7 -0
  9. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/namd.py +47 -37
  10. {mlatom-3.18.0 → mlatom-3.18.2/src/mlatom.egg-info}/PKG-INFO +3 -3
  11. {mlatom-3.18.0 → mlatom-3.18.2}/LICENSE.txt +0 -0
  12. {mlatom-3.18.0 → mlatom-3.18.2}/setup.cfg +0 -0
  13. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/EEEDDDD_descriptor.py +0 -0
  14. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/EEEDDDD_nn.py +0 -0
  15. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/GICnet.py +0 -0
  16. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLTPA.py +0 -0
  17. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/ML_NEA.py +0 -0
  18. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF +0 -0
  19. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/A_KRR.f90 +0 -0
  20. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/A_KRR_kernel.f90 +0 -0
  21. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/D_CoulombMatrix.f90 +0 -0
  22. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/D_ID.f90 +0 -0
  23. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/D_rel2eq.f90 +0 -0
  24. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/MLatomF.f90 +0 -0
  25. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/MLatomFInfo.f90 +0 -0
  26. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/MLmodel.f90 +0 -0
  27. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/Makefile +0 -0
  28. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/Makefile.intel +0 -0
  29. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/__init__.py +0 -0
  30. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/analyze.f90 +0 -0
  31. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/constants.f90 +0 -0
  32. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/cs.cpp +0 -0
  33. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/dataset.f90 +0 -0
  34. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/mathUtils.f90 +0 -0
  35. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/molDescr.f90 +0 -0
  36. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/optionsModule.f90 +0 -0
  37. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/precision.f90 +0 -0
  38. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/recover.sh +0 -0
  39. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/sampling.f90 +0 -0
  40. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/statistics.f90 +0 -0
  41. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/stopper.f90 +0 -0
  42. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/strings.f90 +0 -0
  43. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/timing.f90 +0 -0
  44. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLatomF_src/types.f90 +0 -0
  45. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/MLtasks.py +0 -0
  46. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/__init__.py +0 -0
  47. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/omnip2x/__init__.py +0 -0
  48. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/omnip2x/omnip2x.py +0 -0
  49. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/omnip2x/vecmsani.py +0 -0
  50. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/uaiqm/__init__.py +0 -0
  51. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/addons/uaiqm/uaiqm.py +0 -0
  52. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/aiqm1.py +0 -0
  53. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/aiqm2.py +0 -0
  54. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/al_utils.py +0 -0
  55. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/args_class.py +0 -0
  56. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/ccsdtstarcbs.py +0 -0
  57. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/composite_methods.py +0 -0
  58. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/constants.py +0 -0
  59. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/conversions.py +0 -0
  60. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/cs.so +0 -0
  61. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/data.py +0 -0
  62. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/decorators.py +0 -0
  63. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/dens.py +0 -0
  64. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/doc.py +0 -0
  65. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/KREG.f90 +0 -0
  66. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/KREG.so +0 -0
  67. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/__init__.py +0 -0
  68. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/compile.py +0 -0
  69. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/mathUtils.f90 +0 -0
  70. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/fortran/stopper.f90 +0 -0
  71. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/functionsGICnet.py +0 -0
  72. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/gap_md.py +0 -0
  73. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/gen_ts_methods.py +0 -0
  74. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/header.py +0 -0
  75. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/initial_conditions.py +0 -0
  76. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interface_MLatomF.py +0 -0
  77. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/__init__.py +0 -0
  78. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/aimnet2_interface.py +0 -0
  79. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/ase_interface.py +0 -0
  80. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/columbus_interface.py +0 -0
  81. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/dftbplus_interface.py +0 -0
  82. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/dftd3_interface.py +0 -0
  83. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/dftd4_interface.py +0 -0
  84. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/dpmd_interface.py +0 -0
  85. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/gap_interface.py +0 -0
  86. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/gaussian_external.py +0 -0
  87. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/gaussian_interface.py +0 -0
  88. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/mace_interface.py +0 -0
  89. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/mndo_interface.py +0 -0
  90. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/orca_interface.py +0 -0
  91. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/physnet_interface.py +0 -0
  92. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/pyscf_interface.py +0 -0
  93. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/sgdml_interface.py +0 -0
  94. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/sparrow_interface.py +0 -0
  95. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/torchani_heavy_parts.py +0 -0
  96. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/torchani_interface.py +0 -0
  97. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/turbomole_interface.py +0 -0
  98. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/xtb +0 -0
  99. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/interfaces/xtb_interface.py +0 -0
  100. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/KREG.jl +0 -0
  101. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/__init__.py +0 -0
  102. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/kernel_function.jl +0 -0
  103. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/kreg_julia.py +0 -0
  104. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/krr.jl +0 -0
  105. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/mathUtils.jl +0 -0
  106. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/julia/stopper.jl +0 -0
  107. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/kreg_api.py +0 -0
  108. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/krr_julia.py +0 -0
  109. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/log.py +0 -0
  110. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/md.py +0 -0
  111. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/md2vibr.py +0 -0
  112. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/md2vibr_cmd.py +0 -0
  113. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/md_cmd.py +0 -0
  114. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/md_parallel.py +0 -0
  115. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_gui.py +0 -0
  116. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/__init__.py +0 -0
  117. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/__init__.py +0 -0
  118. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv0.pt +0 -0
  119. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv1.pt +0 -0
  120. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv2.pt +0 -0
  121. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv3.pt +0 -0
  122. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv4.pt +0 -0
  123. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv5.pt +0 -0
  124. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv6.pt +0 -0
  125. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm1_model/cv7.pt +0 -0
  126. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/__init__.py +0 -0
  127. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv0.pt +0 -0
  128. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv1.pt +0 -0
  129. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv2.pt +0 -0
  130. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv3.pt +0 -0
  131. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv4.pt +0 -0
  132. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv5.pt +0 -0
  133. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv6.pt +0 -0
  134. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mlatom_models/aiqm2_model/cv7.pt +0 -0
  135. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mltpa/__init__.py +0 -0
  136. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mltpa/mff.txt +0 -0
  137. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mltpa/mltpa2022_2.pkl +0 -0
  138. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/mltpa/mltpa2022_2_new_.pkl +0 -0
  139. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/model_cls.py +0 -0
  140. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/plot.py +0 -0
  141. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/ref.json +0 -0
  142. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/shell_cmd.py +0 -0
  143. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/simulations.py +0 -0
  144. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/sliceData.py +0 -0
  145. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/spectra.py +0 -0
  146. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/stats.py +0 -0
  147. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/stopper.py +0 -0
  148. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/thermostat.py +0 -0
  149. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/utils.py +0 -0
  150. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom/xyz.py +0 -0
  151. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom.egg-info/SOURCES.txt +0 -0
  152. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom.egg-info/dependency_links.txt +0 -0
  153. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom.egg-info/entry_points.txt +0 -0
  154. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom.egg-info/requires.txt +0 -0
  155. {mlatom-3.18.0 → mlatom-3.18.2}/src/mlatom.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlatom
3
- Version: 3.18.0
3
+ Version: 3.18.2
4
4
  Summary: A Package for AI-enhanced computational chemistry
5
5
  Home-page: http://mlatom.com
6
6
  Author: Pavlo O. Dral
@@ -27,7 +27,7 @@ Requires-Dist: tqdm
27
27
  # About Program
28
28
  MLatom: a Package for Atomistic Simulations with Machine Learning
29
29
 
30
- Version 3.18.0
30
+ Version 3.18.2
31
31
 
32
32
  **Official website**: http://mlatom.com/
33
33
  **Documentation**: http://mlatom.com/docs/
@@ -56,7 +56,7 @@ When this Software or its derivatives are used in scientific publications, it sh
56
56
  * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Peikun Zheng, Yuxinxin Chen, Mario Barbatti, Olexandr Isayev, Cheng Wang, Bao-Xin Xue, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Lina Zhang, Shuang Zhang, Arif Ullah, Quanhao Zhang, Yanchi Ou. [MLatom 3: A Platform for Machine Learning-enhanced Computational Chemistry Simulations and Workflows](https://doi.org/10.1021/acs.jctc.3c01203). *J. Chem. Theory Comput.* **2024**, *20*, 1193--1213.
57
57
  * Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti. [MLatom 2: An Integrative Platform for Atomistic Machine Learning](http://doi.org/10.1007/s41061-021-00339-5). *Top. Curr. Chem.* **2021**, *379*, 27.
58
58
  * Pavlo O. Dral. [MLatom: A Program Package for Quantum Chemical Research Assisted by Machine Learning](http://dx.doi.org/10.1002/jcc.26004). *J. Comput. Chem.* **2019**, *40*, 2339--2347.
59
- * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.0, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
59
+ * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.2, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
60
60
 
61
61
  The citations for MLatom's interfaces and features shall be eventually
62
62
  included too. See program output, header.py, ref.json, and [MLatom.com](http://mlatom.com).
@@ -1,7 +1,7 @@
1
1
  # About Program
2
2
  MLatom: a Package for Atomistic Simulations with Machine Learning
3
3
 
4
- Version 3.18.0
4
+ Version 3.18.2
5
5
 
6
6
  **Official website**: http://mlatom.com/
7
7
  **Documentation**: http://mlatom.com/docs/
@@ -30,7 +30,7 @@ When this Software or its derivatives are used in scientific publications, it sh
30
30
  * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Peikun Zheng, Yuxinxin Chen, Mario Barbatti, Olexandr Isayev, Cheng Wang, Bao-Xin Xue, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Lina Zhang, Shuang Zhang, Arif Ullah, Quanhao Zhang, Yanchi Ou. [MLatom 3: A Platform for Machine Learning-enhanced Computational Chemistry Simulations and Workflows](https://doi.org/10.1021/acs.jctc.3c01203). *J. Chem. Theory Comput.* **2024**, *20*, 1193--1213.
31
31
  * Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti. [MLatom 2: An Integrative Platform for Atomistic Machine Learning](http://doi.org/10.1007/s41061-021-00339-5). *Top. Curr. Chem.* **2021**, *379*, 27.
32
32
  * Pavlo O. Dral. [MLatom: A Program Package for Quantum Chemical Research Assisted by Machine Learning](http://dx.doi.org/10.1002/jcc.26004). *J. Comput. Chem.* **2019**, *40*, 2339--2347.
33
- * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.0, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
33
+ * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.2, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
34
34
 
35
35
  The citations for MLatom's interfaces and features shall be eventually
36
36
  included too. See program output, header.py, ref.json, and [MLatom.com](http://mlatom.com).
@@ -43,7 +43,7 @@ with open(os.path.join(here, 'README.md')) as f:
43
43
 
44
44
  setup(
45
45
  name = pkg_name,
46
- version = "3.18.0",
46
+ version = "3.18.2",
47
47
  author = "Pavlo O. Dral",
48
48
  author_email = "admin@mlatom.com",
49
49
  license = 'MIT (modified)',
@@ -274,7 +274,7 @@ class EEEDDDD(model_cls.ml_model, model_cls.torch_model,model_cls.downloadable_m
274
274
  print(f"model saved in {model_file}")
275
275
 
276
276
  def _load_model(self, model_file: str):
277
- model_dict = torch.load(model_file, map_location=self.device)
277
+ model_dict = torch.load(model_file, map_location=self.device, weights_only=False)
278
278
  self.species = model_dict['args'].pop('species')
279
279
  model = self._new_model(model_dict['args'])
280
280
  model.load_state_dict(model_dict['state'])
@@ -4,7 +4,7 @@
4
4
  !---------------------------------------------------------------------------!
5
5
  ! !
6
6
  ! MLatom: a Package for Atomistic Simulations with Machine Learning !
7
- ! MLatom 3.18.0 !
7
+ ! MLatom 3.18.2 !
8
8
  ! @ !
9
9
  ! Xiamen Atomistic Computing Suite (XACS) !
10
10
  ! !
@@ -38,7 +38,7 @@
38
38
  ! Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, !
39
39
  ! Matheus O. Bispo !
40
40
  ! MLatom: A Package for Atomistic Simulations with Machine Learning, !
41
- ! version 3.18.0, Xiamen University, Xiamen, China, 2013-2025. !
41
+ ! version 3.18.2, Xiamen University, Xiamen, China, 2013-2025. !
42
42
  ! !
43
43
  ! The citations for MLatom's interfaces and features shall be eventually !
44
44
  ! included too. See header.py, ref.json and http://mlatom.com. !
@@ -5,11 +5,11 @@ from .simulations import optimize_geometry, irc, freq, thermochemistry, md, gene
5
5
  from .data import atom, molecule, molecular_database
6
6
  from .models import kreg, ani, msani
7
7
  from .models import methods, aiqm1, aiqm2, dens, ani_methods, aimnet2_methods, gaussian_methods, pyscf_methods, orca_methods, turbomole_methods, mndo_methods, sparrow_methods, xtb_methods, dftbplus_methods, columbus_methods, dftd3_methods, dftd4_methods
8
+ from .models import MDtrajNet
8
9
  from . import al_utils
9
10
  from .al import al
10
11
  from .gap_md import gap_md, gap_model
11
12
  # add-ons
12
13
  from .models import uaiqm, omnip2x, vecmsani
13
- from .EEEDDDD import EEEDDDD as MDtrajNet
14
14
 
15
- __version__ = '3.18.0'
15
+ __version__ = '3.18.2'
@@ -8,6 +8,11 @@ import random
8
8
  import timeit
9
9
  import copy
10
10
 
11
+ # check numpy version
12
+ np_ver = np.__version__.split()[0]
13
+ if np_ver == '1': np_cfloat = np.cfloat
14
+ else: np_cfloat = np.complex128
15
+
11
16
  class al():
12
17
  '''
13
18
  Active learning procedure
@@ -335,7 +340,8 @@ class al():
335
340
  elif type(dd[key]) == np.int16: dd[key] = dd[key].item()
336
341
  elif type(dd[key]) == np.int32: dd[key] = dd[key].item()
337
342
  elif type(dd[key]) == np.int64: dd[key] = dd[key].item()
338
- elif type(dd[key]) == np.cfloat: dd[key] = dd[key].item()
343
+ # elif type(dd[key]) == np.cfloat: dd[key] = dd[key].item()
344
+ elif type(dd[key]) == np_cfloat: dd[key] = dd[key].item()
339
345
  elif type(dd[key]) == list:
340
346
  for ii in range(len(dd[key])):
341
347
  if type(dd[key][ii]) == list:
@@ -588,6 +588,13 @@ def mace(**kwargs):
588
588
  from .interfaces.mace_interface import mace
589
589
  return mace(**kwargs)
590
590
 
591
+ def MDtrajNet(**kwargs):
592
+ '''
593
+ Returns an EEEDDDD model object (see :class:`mlatom.EEEDDDD.EEEDDDD`).
594
+ '''
595
+ from .EEEDDDD import EEEDDDD
596
+ return EEEDDDD(**kwargs)
597
+
591
598
  from .addons.uaiqm.uaiqm import uaiqm
592
599
  from .addons.omnip2x.omnip2x import omnip2x
593
600
  from .addons.omnip2x.vecmsani import vecmsani
@@ -345,7 +345,7 @@ class surface_hopping_md():
345
345
  self.current_state = hopping_probabilities.index(max_prob)
346
346
 
347
347
  # fssh/lzsh/znsh: rescale_velocity; change en grad in molecular_trajectory; change ekin etot
348
- mol_istep_plus1 = self.molecular_trajectory.steps[istep+1].molecule
348
+ mol_istep_plus1 = self.molecular_trajectory.steps[-2].molecule
349
349
  kinetic_energy_change = mol_istep_plus1.electronic_states[self.current_state].energy - mol_istep_plus1.electronic_states[self.initial_state].energy
350
350
  vector = None
351
351
  if self.rescale_velocity_direction.casefold() in ['nacv', 'nacs']:
@@ -359,7 +359,7 @@ class surface_hopping_md():
359
359
  kinetic_energy_change=kinetic_energy_change,
360
360
  vector=vector,
361
361
  if_not_enough_kinetic_energy=self.insufficient_energy_action)
362
- self.change_properties_of_hopping_step(step=istep+1)
362
+ self.change_properties_of_hopping_step()
363
363
  if self.hopping_algorithm == 'LZBL' or self.hopping_algorithm == 'FSSH':
364
364
  del self.molecular_trajectory.steps[-1]
365
365
  one_step_propagation = True
@@ -401,12 +401,22 @@ class surface_hopping_md():
401
401
  temp_traj_dump.steps.append(self.molecular_trajectory.steps[-1])
402
402
  if self.reduce_memory_usage:
403
403
  temp_traj = data.molecular_trajectory()
404
- temp_traj.steps.append(self.molecular_trajectory.steps[-2])
405
- temp_traj.steps.append(self.molecular_trajectory.steps[-1])
406
- del self.molecular_trajectory.steps[-2:]
407
- self.molecular_trajectory.dump(filename=self.filename, format=self.format)
408
- del self.molecular_trajectory
409
- self.molecular_trajectory = temp_traj
404
+ if self.hopping_algorithm == 'LZBL':
405
+ temp_traj.steps.append(self.molecular_trajectory.steps[-2])
406
+ temp_traj.steps.append(self.molecular_trajectory.steps[-1])
407
+ del self.molecular_trajectory.steps[-2:]
408
+ self.molecular_trajectory.dump(filename=self.filename, format=self.format)
409
+ del self.molecular_trajectory
410
+ self.molecular_trajectory = temp_traj
411
+ if self.hopping_algorithm == 'FSSH':
412
+ temp_traj.steps.append(self.molecular_trajectory.steps[-4])
413
+ temp_traj.steps.append(self.molecular_trajectory.steps[-3])
414
+ temp_traj.steps.append(self.molecular_trajectory.steps[-2])
415
+ temp_traj.steps.append(self.molecular_trajectory.steps[-1])
416
+ del self.molecular_trajectory.steps[-4:]
417
+ self.molecular_trajectory.dump(filename=self.filename, format=self.format)
418
+ del self.molecular_trajectory
419
+ self.molecular_trajectory = temp_traj
410
420
  else:
411
421
  temp_traj_dump.dump(filename=self.filename, format=self.format)
412
422
  elif self.format == 'json':
@@ -504,27 +514,27 @@ class surface_hopping_md():
504
514
  n_substeps = int(self.time_step / self.time_step_tdse)
505
515
 
506
516
  # Load energies and interpolate
507
- energies = [np.array([self.molecular_trajectory.steps[istep+1].molecule.electronic_states[iState].energy for iState in range(self.nstates)]), np.array([self.molecular_trajectory.steps[istep].molecule.electronic_states[stat].energy for stat in range(self.nstates)])]
517
+ energies = [np.array([self.molecular_trajectory.steps[-2].molecule.electronic_states[iState].energy for iState in range(self.nstates)]), np.array([self.molecular_trajectory.steps[-3].molecule.electronic_states[stat].energy for stat in range(self.nstates)])]
508
518
  if istep == 1:
509
- energies.append(np.array([self.molecular_trajectory.steps[istep-1].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
519
+ energies.append(np.array([self.molecular_trajectory.steps[-4].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
510
520
  elif istep > 1:
511
- energies.append(np.array([self.molecular_trajectory.steps[istep-1].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
512
- energies.append(np.array([self.molecular_trajectory.steps[istep-2].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
521
+ energies.append(np.array([self.molecular_trajectory.steps[-4].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
522
+ energies.append(np.array([self.molecular_trajectory.steps[-5].molecule.electronic_states[iState].energy for iState in range(self.nstates)]))
513
523
  energies_interpolated = [list(ienergy) for ienergy in zip(*self.interpolate_energy(energies, n_substeps))]
514
524
 
515
525
  # Load velocities
516
- velocity_initial = np.array(self.molecular_trajectory.steps[istep].molecule.get_xyz_vectorial_properties('xyz_velocities'))*constants.Angstrom2Bohr/constants.fs2au
517
- velocity_final = np.array(self.molecular_trajectory.steps[istep+1].molecule.get_xyz_vectorial_properties('xyz_velocities'))*constants.Angstrom2Bohr/constants.fs2au
526
+ velocity_initial = np.array(self.molecular_trajectory.steps[-3].molecule.get_xyz_vectorial_properties('xyz_velocities'))*constants.Angstrom2Bohr/constants.fs2au
527
+ velocity_final = np.array(self.molecular_trajectory.steps[-2].molecule.get_xyz_vectorial_properties('xyz_velocities'))*constants.Angstrom2Bohr/constants.fs2au
518
528
 
519
529
  # Load NACs
520
- nac_initial = np.array(self.molecular_trajectory.steps[istep].molecule.nacv)/constants.Angstrom2Bohr
521
- nac_final = np.array(self.molecular_trajectory.steps[istep+1].molecule.nacv)/constants.Angstrom2Bohr
530
+ nac_initial = np.array(self.molecular_trajectory.steps[-3].molecule.nacv)/constants.Angstrom2Bohr
531
+ nac_final = np.array(self.molecular_trajectory.steps[-2].molecule.nacv)/constants.Angstrom2Bohr
522
532
  for iState in range(self.nstates):
523
533
  for jState in range(iState):
524
534
  # Phase alignment within trajectory based on the dot product of NAC(t) and NAC(t+dt)
525
535
  if np.vdot(nac_initial[iState][jState], nac_final[iState][jState]) < 0:
526
- self.molecular_trajectory.steps[istep+1].molecule.nacv[iState][jState] *= -1
527
- self.molecular_trajectory.steps[istep+1].molecule.nacv[jState][iState] *= -1
536
+ self.molecular_trajectory.steps[-2].molecule.nacv[iState][jState] *= -1
537
+ self.molecular_trajectory.steps[-2].molecule.nacv[jState][iState] *= -1
528
538
  nac_final[iState][jState] *= -1
529
539
  nac_final[jState][iState] *= -1
530
540
 
@@ -537,13 +547,13 @@ class surface_hopping_md():
537
547
  ss_c = [self.molecular_trajectory.steps[istep].state_coefficients]
538
548
  ss_cdot = [self.coeff_dot(ss_c[-1], ss_dt[-1], ss_ph[-1])]
539
549
  else:
540
- ss_E = self.molecular_trajectory.steps[istep-1].substep_potential_energy[-4:]
541
- ss_v = self.molecular_trajectory.steps[istep-1].substep_velocities[-4:]
542
- ss_NAC = self.molecular_trajectory.steps[istep-1].substep_nonadiabatic_coupling_vectors[-4:]
543
- ss_dt = self.molecular_trajectory.steps[istep-1].substep_time_derivative_coupling[-4:]
544
- ss_c = self.molecular_trajectory.steps[istep-1].substep_state_coefficients[-4:]
545
- ss_cdot = self.molecular_trajectory.steps[istep-1].substep_state_coefficients_dot[-4:]
546
- ss_ph = self.molecular_trajectory.steps[istep-1].substep_phase[-4:]
550
+ ss_E = self.molecular_trajectory.steps[-4].substep_potential_energy[-4:]
551
+ ss_v = self.molecular_trajectory.steps[-4].substep_velocities[-4:]
552
+ ss_NAC = self.molecular_trajectory.steps[-4].substep_nonadiabatic_coupling_vectors[-4:]
553
+ ss_dt = self.molecular_trajectory.steps[-4].substep_time_derivative_coupling[-4:]
554
+ ss_c = self.molecular_trajectory.steps[-4].substep_state_coefficients[-4:]
555
+ ss_cdot = self.molecular_trajectory.steps[-4].substep_state_coefficients_dot[-4:]
556
+ ss_ph = self.molecular_trajectory.steps[-4].substep_phase[-4:]
547
557
  ss_random_numbers = []
548
558
  ss_hopping_probabilities = []
549
559
 
@@ -613,12 +623,12 @@ class surface_hopping_md():
613
623
  if max(hopping_probabilities) > random_number:
614
624
  hop_occured = True
615
625
 
616
- ss_c[-1] = self.decoherence_correction(istep, ss_c[-1])
626
+ ss_c[-1] = self.decoherence_correction(-2, ss_c[-1])
617
627
 
618
628
  ss_hopping_probabilities.append(hopping_probabilities)
619
629
  ss_random_numbers.append(random_number)
620
630
 
621
- self.molecular_trajectory.steps[istep+1].state_coefficients = ss_c[-1]
631
+ self.molecular_trajectory.steps[-2].state_coefficients = ss_c[-1]
622
632
 
623
633
  # Saving substep info: last element of istep is the same as first element of istep+1
624
634
  if istep == 0:
@@ -630,15 +640,15 @@ class surface_hopping_md():
630
640
  self.molecular_trajectory.steps[istep].substep_state_coefficients_dot = ss_cdot
631
641
  self.molecular_trajectory.steps[istep].substep_phase = ss_ph
632
642
  else:
633
- self.molecular_trajectory.steps[istep].substep_potential_energy = ss_E[3:]
634
- self.molecular_trajectory.steps[istep].substep_velocities = ss_v[3:]
635
- self.molecular_trajectory.steps[istep].substep_nonadiabatic_coupling_vectors = ss_NAC[3:]
636
- self.molecular_trajectory.steps[istep].substep_time_derivative_coupling = ss_dt[3:]
637
- self.molecular_trajectory.steps[istep].substep_state_coefficients = ss_c[3:]
638
- self.molecular_trajectory.steps[istep].substep_state_coefficients_dot = ss_cdot[3:]
639
- self.molecular_trajectory.steps[istep].substep_phase = ss_ph[3:]
640
- self.molecular_trajectory.steps[istep].substep_random_numbers = ss_random_numbers
641
- self.molecular_trajectory.steps[istep].substep_hopping_probabilities = ss_hopping_probabilities
643
+ self.molecular_trajectory.steps[-3].substep_potential_energy = ss_E[3:]
644
+ self.molecular_trajectory.steps[-3].substep_velocities = ss_v[3:]
645
+ self.molecular_trajectory.steps[-3].substep_nonadiabatic_coupling_vectors = ss_NAC[3:]
646
+ self.molecular_trajectory.steps[-3].substep_time_derivative_coupling = ss_dt[3:]
647
+ self.molecular_trajectory.steps[-3].substep_state_coefficients = ss_c[3:]
648
+ self.molecular_trajectory.steps[-3].substep_state_coefficients_dot = ss_cdot[3:]
649
+ self.molecular_trajectory.steps[-3].substep_phase = ss_ph[3:]
650
+ self.molecular_trajectory.steps[-3].substep_random_numbers = ss_random_numbers
651
+ self.molecular_trajectory.steps[-3].substep_hopping_probabilities = ss_hopping_probabilities
642
652
 
643
653
  return hopping_probabilities, random_number
644
654
 
@@ -742,7 +752,7 @@ class surface_hopping_md():
742
752
  coeff[self.current_state] *= np.sqrt((1-coeff_sum)/(np.abs(coeff[self.current_state])**2))
743
753
  return coeff
744
754
 
745
- def change_properties_of_hopping_step(self, step):
755
+ def change_properties_of_hopping_step(self):
746
756
  new_epot = self.molecular_trajectory.steps[-2].molecule.electronic_states[self.current_state].energy
747
757
  self.molecular_trajectory.steps[-2].molecule.energy = new_epot
748
758
  # for atom in self.molecular_trajectory.steps[step].molecule.atoms:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlatom
3
- Version: 3.18.0
3
+ Version: 3.18.2
4
4
  Summary: A Package for AI-enhanced computational chemistry
5
5
  Home-page: http://mlatom.com
6
6
  Author: Pavlo O. Dral
@@ -27,7 +27,7 @@ Requires-Dist: tqdm
27
27
  # About Program
28
28
  MLatom: a Package for Atomistic Simulations with Machine Learning
29
29
 
30
- Version 3.18.0
30
+ Version 3.18.2
31
31
 
32
32
  **Official website**: http://mlatom.com/
33
33
  **Documentation**: http://mlatom.com/docs/
@@ -56,7 +56,7 @@ When this Software or its derivatives are used in scientific publications, it sh
56
56
  * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Peikun Zheng, Yuxinxin Chen, Mario Barbatti, Olexandr Isayev, Cheng Wang, Bao-Xin Xue, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Lina Zhang, Shuang Zhang, Arif Ullah, Quanhao Zhang, Yanchi Ou. [MLatom 3: A Platform for Machine Learning-enhanced Computational Chemistry Simulations and Workflows](https://doi.org/10.1021/acs.jctc.3c01203). *J. Chem. Theory Comput.* **2024**, *20*, 1193--1213.
57
57
  * Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti. [MLatom 2: An Integrative Platform for Atomistic Machine Learning](http://doi.org/10.1007/s41061-021-00339-5). *Top. Curr. Chem.* **2021**, *379*, 27.
58
58
  * Pavlo O. Dral. [MLatom: A Program Package for Quantum Chemical Research Assisted by Machine Learning](http://dx.doi.org/10.1002/jcc.26004). *J. Comput. Chem.* **2019**, *40*, 2339--2347.
59
- * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.0, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
59
+ * Pavlo O. Dral, Fuchun Ge, Yi-Fan Hou, Yuxinxin Chen, Peikun Zheng, Bao-Xin Xue, Mikolaj Martyka, Lina Zhang, Jakub Martinka, Quanhao Zhang, Xin-Yu Tong, Arif Ullah, Sebastian V. Pios, Vignesh B. Kumar, Yanchi Ou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, Shuang Zhang, Matheus O. Bispo, MLatom: A Package for Atomistic Simulations with Machine Learning, version 3.18.2, Xiamen University, Xiamen, China, 2013-2025. [MLatom.com](http://mlatom.com).
60
60
 
61
61
  The citations for MLatom's interfaces and features shall be eventually
62
62
  included too. See program output, header.py, ref.json, and [MLatom.com](http://mlatom.com).
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes