def EvalProps(): """Evaluate thermodynamic properties """ density = _mdsim_globals['density'] deltaT = _mdsim_globals['deltaT'] mol = _mdsim_globals['mol'] nMol = _mdsim_globals['nMol'] uSum = _mdsim_globals['uSum'] virSum = _mdsim_globals['virSum'] vSum = VecR() vvMax : float = 0. vvSum : float = 0. for m in mol: rv_add(vSum, m) vv = rv_dot(m, m) vvSum += vv vvMax = max([vvMax, vv]) _mdsim_globals['dispHi'] += math.sqrt(vvMax) * deltaT if _mdsim_globals['dispHi'] > 0.5 * _mdsim_globals['rNebrShell']: _mdsim_globals['nebrNow'] = True _mdsim_globals['vSum'] = vSum _mdsim_globals['kinEnergy'].val = 0.5 * vvSum / nMol _mdsim_globals['totEnergy'].val = \ _mdsim_globals['kinEnergy'].val + uSum / nMol _mdsim_globals['pressure'].val = density * (vvSum + virSum) / (nMol * NDIM)
def EvalVelDist(): j: int = 0 deltaV: float = 0.0 histSum: float = 0.0 histVel = _mdsim_globals['histVel'] mol = _mdsim_globals['mol'] rangeVel = _mdsim_globals['rangeVel'] sizeHistVel = _mdsim_globals['sizeHistVel'] deltaV = rangeVel / sizeHistVel for m in mol: j = int(math.sqrt(rv_dot(m, m)) / deltaV) histVel[min([j, sizeHistVel - 1])] += 1 _mdsim_globals['countVel'] += 1 if _mdsim_globals['countVel'] == _mdsim_globals['limitVel']: histSum = np.sum(histVel) histVel /= histSum _mdsim_globals['hFucnction'] = 0.0 for j in range(sizeHistVel): if histVel[j] > 0.0: _mdsim_globals['hFunction'] += histVel[j] * math.log( histVel[j] / ((j + 0.5) * deltaV)) PrintVelDist(sys.stdout) _mdsim_globals['countVel'] = 0
def EvalProps(): """Evaluate thermodynamic properties """ density= _mdsim_globals['density'] mol = _mdsim_globals['mol'] nMol = _mdsim_globals['nMol'] uSum = _mdsim_globals['uSum'] virSum = _mdsim_globals['virSum'] vSum = VecR() vvSum : float = 0. for m in mol: rv_add(vSum, m) vvSum += rv_dot(m, m) _mdsim_globals['vSum'] = vSum _mdsim_globals['kinEnergy'].val = 0.5 * vvSum / nMol _mdsim_globals['totEnergy'].val = \ _mdsim_globals['kinEnergy'].val + uSum / nMol _mdsim_globals['pressure'].val = density * (vvSum + virSum) / (nMol * NDIM)