Beispiel #1
0
    def run_dwave():
        # example usage as follows :
        print('2D Migdal with superconductivity')

        basedir = '../test_dwave2/'
        if not os.path.exists(basedir): os.makedirs(basedir)

        params = {}
        params['nw'] = 128
        params['nk'] = 16
        params['t'] = 1.0
        params['tp'] = -0.3
        params['omega'] = 0.17
        params['dens'] = 0.8
        params['renormalized'] = True
        params['sc'] = True
        params['band'] = band_square_lattice
        params['beta'] = 40.0
        params['fixed_mu'] = -1.11

        lamb = 1 / 6
        W = 8.0
        params['g0'] = mylamb2g0(lamb, params['omega'], W)
        print('g0 is ', params['g0'])

        ks = np.arange(-np.pi, np.pi, 2 * np.pi / params['nk'])
        params['gk2'] = 2 * (0.5 *
                             (np.cos(ks[:, None]) - np.cos(ks[None, :])))**2

        migdal = Migdal(params, basedir)

        sc_iter = 2000
        savedir, mu, G, D, S, GG = migdal.selfconsistency(sc_iter,
                                                          S0=None,
                                                          PI0=None,
                                                          frac=0.2)

        print('------------------------------------------')
        print('simulation took', time.time() - time0, 's')
Beispiel #2
0
    params['band'] = band_square_lattice
    params['dim'] = 2

    #ibeta = int(sys.argv[1])
    #betas = np.linspace(1.0, 50.0, 50)
    #params['beta']  = betas[ibeta]

    params['beta'] = float(sys.argv[1])
    renorm = True if sys.argv[2] == 'True' else False
    params['renormalized'] = renorm
    #lamb = 0.2
    #lamb = 0.3   # try this one as well......
    lamb = float(sys.argv[3])

    W = 8.0
    params['g0'] = mylamb2g0(lamb, params['omega'], W)
    params['gq2'] = 1

    params['dw'] = 0.001
    params['wmin'] = -4.1
    params['wmax'] = +4.1
    params['idelta'] = 0.010j

    basedir = '/home/groups/simes/bln/data/elph/production/'
    if not os.path.exists(basedir): os.makedirs(basedir)

    migdal = RealAxisMigdal(params, basedir)

    sc_iter, S0, PI0 = 2000, None, None
    migdal.selfconsistency(sc_iter,
                           S0=S0,
Beispiel #3
0
    def run_dwave(l, beta=16.0, S0=None, PI0=None):
        time0 = time.time()

        basedir = '../test_dwave/'
        if not os.path.exists(basedir): os.makedirs(basedir)

        print('2D Renormalized Migdal')

        params = {}
        params['nw'] = 128
        params['nk'] = 16
        params['t'] = 1
        params['tp'] = -0.3
        params['omega'] = 0.17
        params['dens'] = 0.8
        params['renormalized'] = True
        params['sc'] = False
        params['band'] = band_square_lattice
        params['beta'] = beta
        params['dim'] = 2
        params['fixed_mu'] = -1.11

        lamb = l
        W = 8.0
        params['g0'] = mylamb2g0(lamb, params['omega'], W)
        print('g0 is ', params['g0'])

        ks = np.arange(-np.pi, np.pi, 2 * np.pi / params['nk'])
        params['gk2'] = (np.cos(ks[:, None]) - np.cos(ks[None, :]))**2

        migdal = Migdal(params, basedir)

        sc_iter = 1000
        savedir, mu, G, D, S, GG = migdal.selfconsistency(sc_iter,
                                                          S0=S0,
                                                          PI0=PI0,
                                                          frac=0.2)

        if G is None:
            return False, None, None

        PI = params['g0']**2 * GG
        save(savedir + 'S.npy', S)
        save(savedir + 'PI.npy', PI)
        save(savedir + 'G.npy', G)
        save(savedir + 'D.npy', D)

        sc_iter = 400
        Xsc, Xcdw = migdal.susceptibilities(savedir,
                                            sc_iter,
                                            G,
                                            D,
                                            GG,
                                            frac=1.0)
        save(savedir + 'Xsc.npy', [Xsc])
        save(savedir + 'Xcdw.npy', [Xcdw])

        if Xcdw is None:
            return False, None, None

        print('------------------------------------------')
        print('simulation took', time.time() - time0, 's')

        return True, G, S
Beispiel #4
0
renorm = int(sys.argv[1])

params = {}
params['nw'] = 128
params['nk'] = 120
params['t'] = 1.0
params['tp'] = -0.3
params['dens'] = 0.8
#params['fixed_mu'] = -1.11
params['omega'] = 0.17
params['renormalized'] = True if renorm == 1 else False
params['sc'] = False
params['band'] = band_square_lattice
params['beta'] = 16.0
params['dim'] = 2
params['g0'] = mylamb2g0(lamb=1 / 6, omega=params['omega'], W=8.0)
params['Q'] = None
'''
params['dw']     = 0.001
params['wmin']   = -4.2
params['wmax']   = +4.2
params['idelta'] = 0.002j
migdal = Migdal(params, basedir)
'''

params['dw'] = 0.01
params['wmin'] = -7.2
params['wmax'] = +7.2
params['idelta'] = 0.05j

Beispiel #5
0
    def run():
        # example usage as follows :
        print('2D Migdal with superconductivity')

        params = {}
        params['nw'] = 512
        params['nk'] = 40
        params['t'] = 1.0
        params['tp'] = -0.3
        params['omega'] = 0.1
        params['dens'] = 0.8
        params['renormalized'] = True
        params['sc'] = True
        params['band'] = band_square_lattice
        #params['beta']  = 1.0
        params['Q'] = None
        #params['g0']    = 0.525
        #params['dim']   = 2

        #basedir = '/home/groups/simes/bln/data/elph/imagaxis/example/'

        basedir = '/scratch/users/bln/elph/data/sc2d_200223/'
        if not os.path.exists(basedir): os.makedirs(basedir)

        #lamb = 0.3
        #lamb = float(sys.argv[1])
        lamb = 0.2
        print('lamb = ', lamb)
        W = 8.0
        params['g0'] = mylamb2g0(lamb, params['omega'], W)
        print('g0 is ', params['g0'])

        params['beta'] = 5.0

        path = sys.argv[1]
        if path:
            S0 = load(path + 'S.npy')
            PI0 = load(path + 'PI.npy')
            mu0 = load(path + 'mu.npy')[0]
        else:
            S0, PI0, mu0 = None, None, None

        migdal = Migdal(params, basedir)

        sc_iter = 2000
        savedir, mu, G, D, S, GG = migdal.selfconsistency(sc_iter,
                                                          S0=S0,
                                                          PI0=PI0,
                                                          mu0=mu0,
                                                          frac=0.1)

        if not params['renormalized']:
            PI = None
        else:
            PI = params['g0']**2 * GG
        save(savedir + 'S.npy', S)
        save(savedir + 'PI.npy', PI)
        save(savedir + 'G.npy', G)
        save(savedir + 'D.npy', D)

        print('------------------------------------------')
        print('simulation took', time.time() - time0, 's')