!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!                                      !!!!!
!!!!!  VERIFICATION CHECK: vc-memory-leak  !!!!!
!!!!!                                      !!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Description: Check that the model has no memory leaks. This is tested using the
             Valgrind memory debugging tool (http://valgrind.org) by performing
             a series of energy and force calculations on a randomly distorted
             face-centered cubic (FCC) cube base structure for both non-periodic
             and periodic boundary conditions. Separate configurations are
             tested for each species supported by the model, as well as one
             containing a random distribution of all species. Configurations
             used for testing are provided as auxiliary files.

Author: Ellad Tadmor

-----------------------------------------------------------------------------------------------------
Results for KIM Model      : SNAP_ZuoChenLi_2019quadratic_Li__MO_041269750353_000
Supported species          : Li

random seed                = 13
lattice constant (orig)    = 3.000
perturbation amplitude     = 0.300
number unit cells per side = 2
-----------------------------------------------------------------------------------------------------

MONOATOMIC STRUCTURE (pbc=False)-- Species = Li   (Configuration in file "config-F-Li.xyz")
-----------------------------------------------------------------------------------------------------
Energy = 177.25196814085115

Forces:
  1  -1.23570016e+01  -1.31454306e+01  -1.43890376e+01
  2  -8.87682617e+00  -1.11766035e+01  -2.79776404e+01
  3  -8.07099111e+00  -1.82401468e+01  -4.65829578e-01
  4  -2.47804619e+01  -5.96245923e+00  -4.34462372e+00
  5   5.81746307e+00  -2.65430966e+01  -2.38790460e+01
  6   2.32925377e+01  -1.02762387e+01  -2.65416933e+01
  7   2.41740970e+01  -3.09314695e+01  -8.78525670e+00
  8   2.10209036e+01  -1.77846967e+01  -1.49696859e+01
  9  -2.05805007e+01   5.04319298e+00  -2.73382133e+01
 10  -4.16484190e+00   3.13911641e+01  -2.92984522e+01
 11  -2.25614191e+01   1.24642240e+01  -2.42902926e+01
 12  -3.03804070e+01   2.33198696e+01  -4.67432232e+00
 13   9.41658226e+00   6.88078233e+00  -3.30458654e+01
 14   1.56793160e+01   1.36217426e+01  -1.55330050e+01
 15   2.96724912e+01   1.23298492e+01  -7.02683639e+00
 16   4.02630631e+00   3.53267443e+01  -8.52092407e+00
 17  -2.09601051e+01  -1.73371275e+01   4.89144690e+00
 18  -2.38951257e+01  -3.38071483e+01   1.97827267e+01
 19  -6.88279856e+00  -2.22783933e+01   2.05829760e+01
 20  -1.85939606e+01  -5.25087403e+00   1.63268438e+01
 21   5.65210626e+00  -2.34115087e+01   1.10267050e+01
 22   3.31447613e+01  -1.38378409e+01   1.05274258e+01
 23   1.13394924e+01  -1.04185442e+01   1.26504853e+01
 24   3.42129905e+00  -1.29720189e+01   2.63009285e+01
 25  -2.77090968e+01   2.46596330e+00   7.95772635e+00
 26  -9.84605007e+00   3.44393071e+01   1.43404120e+01
 27  -1.26152997e+01   6.18959674e-01   2.84753782e+01
 28  -1.83941764e+01   1.65597720e+01   1.42612749e+01
 29   1.97048877e+01   1.70655322e+01   1.40851406e+01
 30   3.21920159e+01   2.69173785e+01   6.14570979e+00
 31   2.70625145e+01   5.56779807e+00   2.83323571e+01
 32   5.05228827e+00   2.93613172e+01   3.53931874e+01

MONOATOMIC STRUCTURE (pbc=True)-- Species = Li   (Configuration in file "config-T-Li.xyz")
-----------------------------------------------------------------------------------------------------
Energy = 177.25196814085115

Forces:
  1  -1.23570016e+01  -1.31454306e+01  -1.43890376e+01
  2  -8.87682617e+00  -1.11766035e+01  -2.79776404e+01
  3  -8.07099111e+00  -1.82401468e+01  -4.65829578e-01
  4  -2.47804619e+01  -5.96245923e+00  -4.34462372e+00
  5   5.81746307e+00  -2.65430966e+01  -2.38790460e+01
  6   2.32925377e+01  -1.02762387e+01  -2.65416933e+01
  7   2.41740970e+01  -3.09314695e+01  -8.78525670e+00
  8   2.10209036e+01  -1.77846967e+01  -1.49696859e+01
  9  -2.05805007e+01   5.04319298e+00  -2.73382133e+01
 10  -4.16484190e+00   3.13911641e+01  -2.92984522e+01
 11  -2.25614191e+01   1.24642240e+01  -2.42902926e+01
 12  -3.03804070e+01   2.33198696e+01  -4.67432232e+00
 13   9.41658226e+00   6.88078233e+00  -3.30458654e+01
 14   1.56793160e+01   1.36217426e+01  -1.55330050e+01
 15   2.96724912e+01   1.23298492e+01  -7.02683639e+00
 16   4.02630631e+00   3.53267443e+01  -8.52092407e+00
 17  -2.09601051e+01  -1.73371275e+01   4.89144690e+00
 18  -2.38951257e+01  -3.38071483e+01   1.97827267e+01
 19  -6.88279856e+00  -2.22783933e+01   2.05829760e+01
 20  -1.85939606e+01  -5.25087403e+00   1.63268438e+01
 21   5.65210626e+00  -2.34115087e+01   1.10267050e+01
 22   3.31447613e+01  -1.38378409e+01   1.05274258e+01
 23   1.13394924e+01  -1.04185442e+01   1.26504853e+01
 24   3.42129905e+00  -1.29720189e+01   2.63009285e+01
 25  -2.77090968e+01   2.46596330e+00   7.95772635e+00
 26  -9.84605007e+00   3.44393071e+01   1.43404120e+01
 27  -1.26152997e+01   6.18959674e-01   2.84753782e+01
 28  -1.83941764e+01   1.65597720e+01   1.42612749e+01
 29   1.97048877e+01   1.70655322e+01   1.40851406e+01
 30   3.21920159e+01   2.69173785e+01   6.14570979e+00
 31   2.70625145e+01   5.56779807e+00   2.83323571e+01
 32   5.05228827e+00   2.93613172e+01   3.53931874e+01


================================================================================
       VALGRIND OUTPUT
================================================================================

==13687== Memcheck, a memory error detector
==13687== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==13687== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==13687== Command: python runner2.py SNAP_ZuoChenLi_2019quadratic_Li__MO_041269750353_000
==13687== 
==13687== Conditional jump or move depends on uninitialised value(s)
==13687==    at 0x4FCDC2C: __wcsnlen_avx2 (strlen-avx2.S:106)
==13687==    by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104)
==13687==    by 0x4E81C40: wcstombs (wcstombs.c:34)
==13687==    by 0x5471CF: ??? (in /usr/bin/python3.6)
==13687==    by 0x6330AD: _Py_stat (in /usr/bin/python3.6)
==13687==    by 0x5B9C10: ??? (in /usr/bin/python3.6)
==13687==    by 0x5515C0: ??? (in /usr/bin/python3.6)
==13687==    by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6)
==13687==    by 0x50A432: ??? (in /usr/bin/python3.6)
==13687==    by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6)
==13687==    by 0x5095C7: ??? (in /usr/bin/python3.6)
==13687==    by 0x50A2FC: ??? (in /usr/bin/python3.6)
==13687== 
==13687== Conditional jump or move depends on uninitialised value(s)
==13687==    at 0x4E654E8: internal_utf8_loop (loop.c:298)
==13687==    by 0x4E654E8: __gconv_transform_internal_utf8 (skeleton.c:609)
==13687==    by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110)
==13687==    by 0x4E81C40: wcstombs (wcstombs.c:34)
==13687==    by 0x5471CF: ??? (in /usr/bin/python3.6)
==13687==    by 0x6330AD: _Py_stat (in /usr/bin/python3.6)
==13687==    by 0x5B9C10: ??? (in /usr/bin/python3.6)
==13687==    by 0x5515C0: ??? (in /usr/bin/python3.6)
==13687==    by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6)
==13687==    by 0x50A432: ??? (in /usr/bin/python3.6)
==13687==    by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6)
==13687==    by 0x5095C7: ??? (in /usr/bin/python3.6)
==13687==    by 0x50A2FC: ??? (in /usr/bin/python3.6)
==13687== 
==13687== Conditional jump or move depends on uninitialised value(s)
==13687==    at 0x4E654F1: internal_utf8_loop (loop.c:303)
==13687==    by 0x4E654F1: __gconv_transform_internal_utf8 (skeleton.c:609)
==13687==    by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110)
==13687==    by 0x4E81C40: wcstombs (wcstombs.c:34)
==13687==    by 0x5471CF: ??? (in /usr/bin/python3.6)
==13687==    by 0x6330AD: _Py_stat (in /usr/bin/python3.6)
==13687==    by 0x5B9C10: ??? (in /usr/bin/python3.6)
==13687==    by 0x5515C0: ??? (in /usr/bin/python3.6)
==13687==    by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6)
==13687==    by 0x50A432: ??? (in /usr/bin/python3.6)
==13687==    by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6)
==13687==    by 0x5095C7: ??? (in /usr/bin/python3.6)
==13687==    by 0x50A2FC: ??? (in /usr/bin/python3.6)
==13687== 
==13687== Conditional jump or move depends on uninitialised value(s)
==13687==    at 0x4E65538: internal_utf8_loop (loop.c:298)
==13687==    by 0x4E65538: __gconv_transform_internal_utf8 (skeleton.c:609)
==13687==    by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110)
==13687==    by 0x4E81C40: wcstombs (wcstombs.c:34)
==13687==    by 0x5471CF: ??? (in /usr/bin/python3.6)
==13687==    by 0x6330AD: _Py_stat (in /usr/bin/python3.6)
==13687==    by 0x5B9C10: ??? (in /usr/bin/python3.6)
==13687==    by 0x5515C0: ??? (in /usr/bin/python3.6)
==13687==    by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6)
==13687==    by 0x50A432: ??? (in /usr/bin/python3.6)
==13687==    by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6)
==13687==    by 0x5095C7: ??? (in /usr/bin/python3.6)
==13687==    by 0x50A2FC: ??? (in /usr/bin/python3.6)
==13687== 
==13687== Conditional jump or move depends on uninitialised value(s)
==13687==    at 0x4FCDDB7: __wcsnlen_avx2 (strlen-avx2.S:264)
==13687==    by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104)
==13687==    by 0x4E81C40: wcstombs (wcstombs.c:34)
==13687==    by 0x5471CF: ??? (in /usr/bin/python3.6)
==13687==    by 0x5474B0: PyUnicode_FSConverter (in /usr/bin/python3.6)
==13687==    by 0x4C4D46: ??? (in /usr/bin/python3.6)
==13687==    by 0x4F7E48: ??? (in /usr/bin/python3.6)
==13687==    by 0x4FB843: ??? (in /usr/bin/python3.6)
==13687==    by 0x4FC3D4: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6)
==13687==    by 0x4C6448: ??? (in /usr/bin/python3.6)
==13687==    by 0x50A259: ??? (in /usr/bin/python3.6)
==13687==    by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6)
==13687== 
==13687== 
==13687== HEAP SUMMARY:
==13687==     in use at exit: 2,775,920 bytes in 1,530 blocks
==13687==   total heap usage: 38,740 allocs, 37,210 frees, 61,942,211 bytes allocated
==13687== 
==13687== LEAK SUMMARY:
==13687==    definitely lost: 0 bytes in 0 blocks
==13687==    indirectly lost: 0 bytes in 0 blocks
==13687==      possibly lost: 145,088 bytes in 84 blocks
==13687==    still reachable: 2,630,832 bytes in 1,446 blocks
==13687==         suppressed: 0 bytes in 0 blocks
==13687== Rerun with --leak-check=full to see details of leaked memory
==13687== 
==13687== For counts of detected and suppressed errors, rerun with: -v
==13687== Use --track-origins=yes to see where uninitialised values come from
==13687== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12651 from 684)

================================================================================

To pass this verification check the number of bytes that are "definitely lost" 
or "indirectly lost" must be zero.

NOTE that Valgrind will typically report non-zero "possibly lost" bytes due to
Python's internal memory allocation and garbage collection that it does not monitor.

Full Valgrind output written to auxiliary file "valgrind.out"

Grade: P

Comment: No memory leak detected.