def make_ecp_env(self, _atm, _ecp, pre_env=[]): if _ecp and self._pseudo: conflicts = set(self._pseudo.keys()).intersection(set(_ecp.keys())) if conflicts: raise RuntimeError('Pseudo potential for atoms %s are defined ' 'in both .ecp and .pseudo.' % list(conflicts)) _ecpbas, _env = np.zeros((0,8)), pre_env if _ecp: _atm, _ecpbas, _env = mole.make_ecp_env(self, _atm, _ecp, _env) if self._pseudo: _atm, _, _env = make_pseudo_env(self, _atm, self._pseudo, _env) return _atm, _ecpbas, _env
def make_ecp_env(self, _atm, _ecp, pre_env=[]): if _ecp and self._pseudo: conflicts = set(self._pseudo.keys()).intersection(set(_ecp.keys())) if conflicts: logger.warn(self, 'Pseudo potential for atoms %s are defined ' 'in both .ecp and .pseudo. Definitions in .pseudo ' 'are taken.', list(conflicts)) _ecp = dict((k,_ecp[k]) for k in _ecp if k not in self._pseudo) _ecpbas, _env = np.zeros((0,8)), pre_env if _ecp: _atm, _ecpbas, _env = mole.make_ecp_env(self, _atm, _ecp, _env) if self._pseudo: _atm, _, _env = make_pseudo_env(self, _atm, self._pseudo, _env) return _atm, _ecpbas, _env