# # ALPS Project: Algorithms and Libraries for Physics Simulations # # ALPS Libraries # # Copyright (C) 2010 by Brigitte Surer # 2012-2013 by Jakub Imriska # # This software is part of the ALPS libraries, published under the ALPS # Library License; you can use, redistribute it and/or modify it under # the terms of the license, either version 1 or (at your option) any later # version. # # You should have received a copy of the ALPS Library License along with # the ALPS Libraries; see the file LICENSE.txt. If not, the license is also # available from http://alps.comp-phys.org/. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT # SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE # FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # # **************************************************************************** import pyalps import numpy as np import matplotlib.pyplot as plt import pyalps.plot #prepare the input parameters parms=[] for u,j in [[1.8,0.45],[2.2,0.55],[2.8,0.7]]: parms.append( { 'CONVERGED' : 0.001, 'FLAVORS' : 4, 'H' : 0, 'H_INIT' : 0., 'MAX_IT' : 15, 'MAX_TIME' : 600, 'MU' : 0, 'N' : 500, 'NMATSUBARA' : 500, 'N_MEAS' : 2000, 'N_ORDER' : 50, 'SEED' : 0, 'SOLVER' : 'hybridization', 'SC_WRITE_DELTA' : 1, 'SYMMETRIZATION' : 1, 'SWEEPS' : 10000, 'BETA' : 30, 'THERMALIZATION' : 500, 'U' : u, 'J' : j, 't0' : 0.5, 't1' : 1 } ) # For more precise calculations we propose to enhance the SWEEPS #write the input file and run the simulation for p in parms: input_file = pyalps.writeParameterFile('parm_u_'+str(p['U'])+'_j_'+str(p['J']),p) res = pyalps.runDMFT(input_file) listobs = ['0', '2'] # flavor 0 is SYMMETRIZED with 1, flavor 2 is SYMMETRIZED with 3 data = pyalps.loadMeasurements(pyalps.getResultFiles(pattern='parm_u_*h5'), respath='/simulation/results/G_tau', what=listobs, verbose=True) for d in pyalps.flatten(data): d.x = d.x*d.props["BETA"]/float(d.props["N"]) d.y = -d.y d.props['label'] = r'$U=$'+str(d.props['U'])+'; flavor='+str(d.props['observable'][len(d.props['observable'])-1]) plt.figure() plt.yscale('log') plt.xlabel(r'$\tau$') plt.ylabel(r'$G_{flavor}(\tau)$') plt.title('DMFT-05: Orbitally Selective Mott Transition on the Bethe lattice') pyalps.plot.plot(data) plt.legend() plt.show()