예제 #1
0
def main():
	for iq,Q in enumerate( Qs ):
		FF = FFLJ + FFel * Q
		PP.setFF_Pointer( FF )
		for ik,K in enumerate( Ks ):
			dirname = "Q%1.2fK%1.2f" %(Q,K)
			os.makedirs( dirname )
			PP.setTip( kSpring = np.array((K,K,0.0))/-PP.eVA_Nm )
			fzs = relaxedScan3D( xTips, yTips, zTips )
			PP.saveXSF( dirname+'/OutFz.xsf', headScan, lvecScan, fzs )
			for iA,Amp in enumerate( Amps ):
				AmpStr = "/Amp%2.2f" %Amp
				print "Amp= ",AmpStr
				os.makedirs( dirname+AmpStr )
				dfs = PP.Fz2df( fzs, dz = dz, k0 = PP.params['kCantilever'], f0=PP.params['f0Cantilever'], n=Amp/dz )
				plotImages( dirname+AmpStr+"/df", dfs, slices = range( 0, len(dfs) ) )
예제 #2
0
    rTips[:, 0] = x
    for iy, y in enumerate(yTips):
        rTips[:, 1] = y
        itrav = PP.relaxTipStroke(rTips, rs, fs) / float(len(zTips))
        fzs[:, iy, ix] = fs[:, 2].copy()
        #print itrav
        #if itrav > 100:
        #	print " bad convergence > %i iterations per pixel " % itrav
        #	print " exiting "
        #	break

print " # ============  convert Fz -> df "

dfs = PP.Fz2df(fzs,
               dz=dz,
               k0=PP.params['kCantilever'],
               f0=PP.params['f0Cantilever'],
               n=int(PP.params['Amplitude'] / dz))

print " # ============  Plot Relaxed Scan 3D "

#slices = range( PP.params['plotSliceFrom'], PP.params['plotSliceTo'], PP.params['plotSliceBy'] )
#print "plotSliceFrom, plotSliceTo, plotSliceBy : ", PP.params['plotSliceFrom'], PP.params['plotSliceTo'], PP.params['plotSliceBy']
#print slices
#nslice = len( slices )

slices = range(0, len(dfs))

for ii, i in enumerate(slices):
    print " plotting ", i
    plt.figure(figsize=(10, 10))
예제 #3
0
for iq, Q in enumerate(Qs):
    FF = FFLJ + FFel * Q
    PP.setFF_Pointer(FF)
    for ik, K in enumerate(Ks):
        dirname = "Q%1.2fK%1.2f" % (Q, K)
        os.makedirs(dirname)
        PP.setTip(kSpring=np.array((K, K, 0.0)) / -PP.eVA_Nm)
        #GU.saveVecFieldXsf( 'FFtot', FF, lvec, head )
        fzs = PP.relaxedScan3D(xTips, yTips, zTips)
        GU.saveXSF(dirname + '/OutFz.xsf', fzs, lvecScan, GU.XSF_HEAD_DEFAULT)
        for iA, Amp in enumerate(Amps):
            AmpStr = "/Amp%2.2f" % Amp
            print("Amp= ", AmpStr)
            os.makedirs(dirname + AmpStr)
            dz = PP.params['scanStep'][2]
            dfs = PP.Fz2df(fzs,
                           dz=dz,
                           k0=PP.params['kCantilever'],
                           f0=PP.params['f0Cantilever'],
                           n=Amp / dz)
            extent = (xTips[0], xTips[-1], yTips[0], yTips[-1])
            PPPlot.plotImages(dirname + AmpStr + "/df",
                              dfs,
                              slices=list(range(0, len(dfs))),
                              extent=extent)

print(" ***** ALL DONE ***** ")

#plt.show()