Example #1
0
    def write(self, filename, all=False):
        """Dump essential data"""

        data = {
            'nbands': self.nbands,
            'acell': self.acell_cv,  #* Bohr,
            'bcell': self.bcell_cv,  #/ Bohr,
            'h_cv': self.gd.h_cv,  #* Bohr,
            'nG': self.gd.N_c,
            'nG0': self.nG0,
            'vol': self.vol,  #* Bohr**3,
            'BZvol': self.BZvol,  #/ Bohr**3,
            'nkpt': self.kd.nbzkpts,
            'ecut': self.ecut,  #* Hartree,
            'npw': self.npw,
            'eta': self.eta,  #* Hartree,
            'ftol': self.ftol,
            'Nw': self.Nw,
            'NwS': self.NwS,
            'dw': self.dw,  # * Hartree,
            'q_red': self.q_c,
            'q_car': self.qq_v,  # / Bohr,
            'qmod': np.dot(self.qq_v, self.qq_v),  # / Bohr
            'vcut': self.vcut,
            'pbc': self.pbc,
            'nvalence': self.nvalence,
            'hilbert_trans': self.hilbert_trans,
            'optical_limit': self.optical_limit,
            'e_skn': self.e_skn,  # * Hartree,
            'f_skn': self.f_skn,
            'bzk_kc': self.kd.bzk_kc,
            'ibzk_kc': self.kd.ibzk_kc,
            'kq_k': self.kq_k,
            'Gvec_Gc': self.Gvec_Gc,
            'dfNLFRPA_w': self.df1_w,
            'dfLFCRPA_w': self.df2_w,
            'dfNLFALDA_w': self.df3_w,
            'dfLFCALDA_w': self.df4_w,
            'df_flag': True
        }

        if all:
            from gpaw.response.parallel import par_write
            par_write('chi0' + filename, 'chi0_wGG', self.wcomm, self.chi0_wGG)

        if rank == 0:
            pickle.dump(data, open(filename, 'w'), -1)

        self.comm.barrier()
Example #2
0
    def write(self, filename, all=False):
        """Dump essential data"""

        data = {'nbands': self.nbands,
                'acell': self.acell_cv, #* Bohr,
                'bcell': self.bcell_cv, #/ Bohr,
                'h_cv' : self.gd.h_cv,   #* Bohr,
                'nG'   : self.gd.N_c,
                'nG0'  : self.nG0,
                'vol'  : self.vol,   #* Bohr**3,
                'BZvol': self.BZvol, #/ Bohr**3,
                'nkpt' : self.kd.nbzkpts,
                'ecut' : self.ecut,  #* Hartree,
                'npw'  : self.npw,
                'eta'  : self.eta,   #* Hartree,
                'ftol' : self.ftol,
                'Nw'   : self.Nw,
                'NwS'  : self.NwS,
                'dw'   : self.dw,    # * Hartree,
                'q_red': self.q_c,
                'q_car': self.qq_v,    # / Bohr,
                'qmod' : np.dot(self.qq_v, self.qq_v), # / Bohr
                'vcut' : self.vcut,
                'pbc'  : self.pbc,
                'nvalence'     : self.nvalence,                
                'hilbert_trans' : self.hilbert_trans,
                'optical_limit' : self.optical_limit,
                'e_skn'         : self.e_skn,          # * Hartree,
                'f_skn'         : self.f_skn,
                'bzk_kc'       : self.kd.bzk_kc,
                'ibzk_kc'      : self.kd.ibzk_kc,
                'kq_k'         : self.kq_k,
                'Gvec_Gc'      : self.Gvec_Gc,
                'dfNLFRPA_w'   : self.df1_w,
                'dfLFCRPA_w'   : self.df2_w,
                'dfNLFALDA_w'  : self.df3_w,
                'dfLFCALDA_w'  : self.df4_w,
                'df_flag'      : True}

        if all:
            from gpaw.response.parallel import par_write
            par_write('chi0' + filename,'chi0_wGG',self.wcomm,self.chi0_wGG)
        
        if rank == 0:
            pickle.dump(data, open(filename, 'w'), -1)

        self.comm.barrier()
Example #3
0
import numpy as np
from gpaw.mpi import size, rank, world
from gpaw.response.parallel import par_write, par_read

Nw = 400
npw = 10
assert Nw % size == 0
Nw_local = Nw // size

chi0_wGG = np.ones((Nw_local, npw, npw), dtype=complex) * rank

filename = 'chi0'
name = 'chi0_wGG'
par_write(filename, name, world, chi0_wGG)

chi0_wGG_new = par_read(filename, name)

assert (np.abs(chi0_wGG - chi0_wGG_new) < 1e-10).all()
Example #4
0
import numpy as np
from gpaw.mpi import size, rank, world
from gpaw.response.parallel import par_write, par_read

Nw = 400
npw = 10
assert Nw % size == 0
Nw_local = Nw // size

chi0_wGG = np.ones((Nw_local, npw, npw),dtype=complex) * rank

filename = 'chi0'
name = 'chi0_wGG'
par_write(filename, name, world, chi0_wGG)

chi0_wGG_new = par_read(filename, name)

assert (np.abs(chi0_wGG - chi0_wGG_new) < 1e-10).all()