Source code for deepmd.nvnmd.utils.op
# SPDX-License-Identifier: LGPL-3.0-or-later
import numpy as np
[docs]def r2s(r, rmin, rmax):
v = 0.0
if (r > 0.01) and (r <= rmin):
v = 1.0 / r
elif (r > rmin) and (r <= rmax):
uu = (r - rmin) / (rmax - rmin)
v = (uu * uu * uu * (-6 * uu * uu + 15 * uu - 10) + 1) / r
return v
[docs]def map_nvnmd(x, map_y, map_dy, prec, nbit=None):
r"""Mapping function implemented by numpy."""
xk = int(np.floor(x / prec))
dx = x - xk * prec
y = map_y[xk] + map_dy[xk] * dx
return y