From ddfc628d61369587805d4dfbd7fe909a3b07e6f6 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Sun, 2 Jan 2022 03:28:39 -0500 Subject: [PATCH] initialize input virial vector to zero Fix #1123. --- source/api_cc/src/DeepPot.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/api_cc/src/DeepPot.cc b/source/api_cc/src/DeepPot.cc index d1126d3844..8bf212e520 100644 --- a/source/api_cc/src/DeepPot.cc +++ b/source/api_cc/src/DeepPot.cc @@ -61,6 +61,8 @@ run_model (ENERGYTYPE & dener, for (unsigned ii = 0; ii < nall * 3; ++ii){ dforce[ii] = of(ii); } + // set dvirial to zero, prevent input vector is not zero (#1123) + std::fill(dvirial.begin(), dvirial.end(), 0.); for (int ii = 0; ii < nall; ++ii) { dvirial[0] += 1.0 * oav(9*ii+0); dvirial[1] += 1.0 * oav(9*ii+1); @@ -136,6 +138,8 @@ static void run_model (ENERGYTYPE & dener, for (int ii = 0; ii < nall * 9; ++ii) { datom_virial[ii] = oav(ii); } + // set dvirial to zero, prevent input vector is not zero (#1123) + std::fill(dvirial.begin(), dvirial.end(), 0.); for (int ii = 0; ii < nall; ++ii) { dvirial[0] += 1.0 * datom_virial[9*ii+0]; dvirial[1] += 1.0 * datom_virial[9*ii+1];