Example #1
0
    args= docopt(__doc__)
    
    infiles= args['INFILE']
    dr= float(args['-d'])
    rmax= float(args['-r'])
    sigma= int(args['--gsmear'])
    ffmt= args['-s']
    ofname= args['-o']
    nspcs = int(args['--num-species'])

    nr= int(rmax/dr) +1
    rd,agr= rdf_average(infiles,nspcs,nr,ffmt=ffmt,dr=dr,rmax=rmax,)

    if not sigma == 0:
        print ' Gaussian smearing...'
        rd,agr= gsmear(rd,agr,sigma)

    outfile= open(ofname,'w')
    outfile.write('# {0:10s} {1:15s}'.format('rd[i],','agr[0,0,i],'))
    for isid in range(1,nspcs+1):
        for jsid in range(1,nspcs+1):
            outfile.write(' {0:10s}'.format('agr[{0:d}-{1:d}]'.format(isid,jsid)))
    outfile.write('\n')
    for i in range(nr):
        outfile.write(' {0:10.4f} {1:15.7f}'.format(rd[i],agr[0,0,i]))
        for isid in range(1,nspcs+1):
            for jsid in range(1,nspcs+1):
                outfile.write(' {0:10.3f}'.format(agr[isid,jsid,i]))
        outfile.write('\n')
    outfile.close()
    print ' Check '+ofname+' with gnuplot, like'
Example #2
0
File: adf.py Project: ryokbys/nap
    id2= int(args['ID2'])
    dang= float(args['-w'])
    drad= np.pi *dang/180.0
    rcut= float(args['-r'])
    sigma= int(args['--gsmear'])
    no_average = args['--no-average']
    ffmt= args['-f']
    ofname= args['-o']
    flag_plot= args['--plot']

    na= int(180.0/dang) +1
    angd,agr= adf_average(infiles,ffmt=ffmt,dang=dang,
                          rcut=rcut,id0=id0,id1=id1,id2=id2,
                          no_average=no_average)

    if not sigma == 0:
        print(' Gaussian smearing...')
        agr= gsmear(angd,agr,sigma)

    if flag_plot:
        plot_figures(angd,agr)
        print('')
        print(' RDF graphes are plotted.')
        print(' Check graph_adf.png')
        
    outfile= open(ofname,'w')
    for i in range(na):
        outfile.write(' {0:10.4f} {1:15.7f}\n'.format(angd[i],agr[i]))
    outfile.close()
    print(' Wrote '+ofname)
Example #3
0
    ofname= args['-o']
    nspcs = int(args['--num-species'])
    no_average = args['--no-average']
    no_normalize = args['--no-normalize']
    average = not no_average
    normalize = not no_normalize
    plot = args['--plot']

    nr= int(rmax/dr) +1
    rd,agr= rdf_average(infiles,nspcs,nr,ffmt=ffmt,dr=dr,rmax=rmax,
                        average=average,normalize=normalize)

    if not sigma == 0:
        print(' Gaussian smearing...')
        #...Smearing of total RDF
        agrt= gsmear(rd,agr[0,0],sigma)
        agr[0,0,:] = agrt[:]
        #...Smearing of inter-species RDF
        for isid in range(1,nspcs+1):
            for jsid in range(1,nspcs+1):
                agrt= gsmear(rd,agr[isid,jsid],sigma)
                agr[isid,jsid,:] = agrt[:]

    outfile= open(ofname,'w')
    outfile.write('# 1:{0:10s} 2:{1:13s}'.format('rd[i],','agr[0,0,i],'))
    n = 2
    for isid in range(1,nspcs+1):
        for jsid in range(isid,nspcs+1):
            n += 1
            outfile.write(' {0:d}:{1:10s}'.format(n,'agr[{0:d}-{1:d}]'.format(isid,jsid)))
    outfile.write('\n')
Example #4
0
    id2 = int(args['ID2'])
    dang = float(args['-w'])
    drad = np.pi * dang / 180.0
    rcut = float(args['-r'])
    flag_plot = args['-p']
    sigma = int(args['--gsmear'])
    ffmt = args['-s']
    ofname = args['-o']

    na = int(180.0 / dang) + 1
    angd, agr = adf_average(infiles,
                            ffmt=ffmt,
                            dang=dang,
                            rcut=rcut,
                            id0=id0,
                            id1=id1,
                            id2=id2)

    if not sigma == 0:
        print ' Gaussian smearing...'
        agr = gsmear(angd, agr, sigma)

    if flag_plot:
        plt.plot(angd, agr, '-', linewidth=1)
        plt.show()

    outfile = open(ofname, 'w')
    for i in range(na):
        outfile.write(' {0:10.4f} {1:15.7f}\n'.format(angd[i], agr[i]))
    outfile.close()