def build(mydf, j_only=None, with_j3c=True, kpts_band=None): # Unlike DF and AFT class, here MDF objects are synced once if mpi.pool.size == 1: return df.DF.build(mydf, j_only, with_j3c, kpts_band) mydf = _sync_mydf(mydf) cell = mydf.cell log = logger.Logger(mydf.stdout, mydf.verbose) log.debug('MPI info (rank, host, pid) %s', mpi.platform_info()) t1 = (time.clock(), time.time()) if mydf.kpts_band is not None: mydf.kpts_band = numpy.reshape(mydf.kpts_band, (-1, 3)) if kpts_band is not None: kpts_band = numpy.reshape(kpts_band, (-1, 3)) if mydf.kpts_band is None: mydf.kpts_band = kpts_band else: mydf.kpts_band = unique(numpy.vstack( (mydf.kpts_band, kpts_band)))[0] mydf.dump_flags() mydf.auxcell = make_modrho_basis(cell, mydf.auxbasis, mydf.eta) if mydf.kpts_band is None: kpts = mydf.kpts kband_uniq = numpy.zeros((0, 3)) else: kpts = mydf.kpts kband_uniq = [k for k in mydf.kpts_band if len(member(k, kpts)) == 0] if j_only is None: j_only = mydf._j_only if j_only: kall = numpy.vstack([kpts, kband_uniq]) kptij_lst = numpy.hstack((kall, kall)).reshape(-1, 2, 3) else: kptij_lst = [(ki, kpts[j]) for i, ki in enumerate(kpts) for j in range(i + 1)] kptij_lst.extend([(ki, kj) for ki in kband_uniq for kj in kpts]) kptij_lst.extend([(ki, ki) for ki in kband_uniq]) kptij_lst = numpy.asarray(kptij_lst) if with_j3c: if isinstance(mydf._cderi_to_save, str): cderi = mydf._cderi_to_save else: cderi = mydf._cderi_to_save.name if isinstance(mydf._cderi, str): log.warn( 'Value of _cderi is ignored. DF integrals will be ' 'saved in file %s .', cderi) mydf._cderi = cderi mydf._make_j3c(cell, mydf.auxcell, kptij_lst, cderi) t1 = log.timer_debug1('j3c', *t1) return mydf
def build(mydf, j_only=None, with_j3c=True, kpts_band=None): # Unlike DF and AFT class, here MDF objects are synced once if mpi.pool.size == 1: return df.DF.build(mydf, j_only, with_j3c, kpts_band) mydf = _sync_mydf(mydf) cell = mydf.cell log = logger.Logger(mydf.stdout, mydf.verbose) log.debug('MPI info (rank, host, pid) %s', mpi.platform_info()) t1 = (time.clock(), time.time()) if mydf.kpts_band is not None: mydf.kpts_band = numpy.reshape(mydf.kpts_band, (-1,3)) if kpts_band is not None: kpts_band = numpy.reshape(kpts_band, (-1,3)) if mydf.kpts_band is None: mydf.kpts_band = kpts_band else: mydf.kpts_band = unique(numpy.vstack((mydf.kpts_band,kpts_band)))[0] mydf.dump_flags() mydf.auxcell = make_modrho_basis(cell, mydf.auxbasis, mydf.eta) if mydf.kpts_band is None: kpts = mydf.kpts kband_uniq = numpy.zeros((0,3)) else: kpts = mydf.kpts kband_uniq = [k for k in mydf.kpts_band if len(member(k, kpts))==0] if j_only is None: j_only = mydf._j_only if j_only: kall = numpy.vstack([kpts,kband_uniq]) kptij_lst = numpy.hstack((kall,kall)).reshape(-1,2,3) else: kptij_lst = [(ki, kpts[j]) for i, ki in enumerate(kpts) for j in range(i+1)] kptij_lst.extend([(ki, kj) for ki in kband_uniq for kj in kpts]) kptij_lst.extend([(ki, ki) for ki in kband_uniq]) kptij_lst = numpy.asarray(kptij_lst) if with_j3c: if isinstance(mydf._cderi_to_save, str): cderi = mydf._cderi_to_save else: cderi = mydf._cderi_to_save.name if isinstance(mydf._cderi, str): log.warn('Value of _cderi is ignored. DF integrals will be ' 'saved in file %s .', cderi) mydf._cderi = cderi mydf._make_j3c(cell, mydf.auxcell, kptij_lst, cderi) t1 = log.timer_debug1('j3c', *t1) return mydf
def dump_flags(self): mpi_info = mpi.platform_info() if rank == 0: rks.RKS.dump_flags(self) lib.logger.debug(self, 'MPI info (rank, host, pid) %s', mpi_info) return self
def dump_flags(self, verbose=None): mpi_info = mpi.platform_info() if rank == 0: uks.UKS.dump_flags(self, verbose) lib.logger.debug(self, 'MPI info (rank, host, pid) %s', mpi_info) return self