예제 #1
0
elif opt_dict['tip_base_q'] is not None:
    TbQs = [opt_dict['tip_base_q']]
else:
    TbQs = [float(PPU.params['tip_base'][1])]

print("Ks   =", Ks)
print("Qs   =", Qs)
print("Amps =", Amps)
print("TbQs =", TbQs)

#sys.exit("  STOPPED ")

print(" ============= RUN  ")

dz = PPU.params['scanStep'][2]
xTips, yTips, zTips, lvecScan = PPU.prepareScanGrids()
extent = (xTips[0], xTips[-1], yTips[0], yTips[-1])

atoms_str = ""
atoms = None
bonds = None
if opt_dict['atoms'] or opt_dict['bonds']:
    atoms_str = "_atoms"
    atoms, tmp1, tmp2 = basUtils.loadAtoms('input_plot.xyz')
    del tmp1, tmp2
    #    print "atoms ", atoms
    if os.path.isfile('atomtypes.ini'):
        print(">> LOADING LOCAL atomtypes.ini")
        FFparams = PPU.loadSpecies('atomtypes.ini')
    else:
        FFparams = PPU.loadSpecies(cpp_utils.PACKAGE_PATH +
#PPPlot.params = PPU.params 			# now we dont use PPPlot here
if ( charged_system == True):
        print " load Electrostatic Force-field "
        FFel, lvec, nDim = GU.load_vec_field( "FFel" ,format=format)

if (options.boltzmann  or options.bI) :
        print " load Boltzmann Force-field "
        FFboltz, lvec, nDim = GU.load_vec_field( "FFboltz", format=format)


print " load Lenard-Jones Force-field "
FFLJ, lvec, nDim = GU.load_vec_field( "FFLJ" , format=format)
PPU.lvec2params( lvec )
PPC.setFF( FFLJ )

xTips,yTips,zTips,lvecScan = PPU.prepareScanGrids( )

for iq,Q in enumerate( Qs ):
	if ( charged_system == True):
		FF = FFLJ + FFel * Q
	else:
		FF = FFLJ
	if options.boltzmann :
		FF += FFboltz
	PPC.setFF_Fpointer( FF )
	for ik,K in enumerate( Ks ):
		dirname = "Q%1.2fK%1.2f" %(Q,K)
		print " relaxed_scan for ", dirname
		if not os.path.exists( dirname ):
			os.makedirs( dirname )
		PPC.setTip( kSpring = np.array((K,K,0.0))/-PPU.eVA_Nm )