Volume = pot.get_volume(vec_a,vec_b,vec_c) #---------------------------------------------------------------------------------- # CONVERT TO PLANAR DENSITIES #---------------------------------------------------------------------------------- grid_pot_bulk, electrons_bulk = pot.density_2_grid(vasp_pot,NGX,NGY,NGZ,True,Volume) planar_bulk = pot.planar_average(grid_pot_bulk,NGX,NGY,NGZ) #---------------------------------------------------------------------------------- # FINISHED READING #---------------------------------------------------------------------------------- # GET RATIO OF NUMBERS OF ELECTRONS #---------------------------------------------------------------------------------- elect_ratio = int(electrons_slab/electrons_bulk) #---------------------------------------------------------------------------------- # SPLINE THE TWO GENERATING A DISTANCE ON ABSCISSA #---------------------------------------------------------------------------------- slab, bulk = pot.matched_spline_generate(planar_slab,planar_bulk,Vector_A[2],Vector_B[1]) #---------------------------------------------------------------------------------- # EXTEND THE BULK POTENTIAL TO MATCH THE ELECTRON NUMBERS #---------------------------------------------------------------------------------- bulk = pot.extend_potential(bulk,elect_ratio,Vector_B[1]) #---------------------------------------------------------------------------------- # MATCH THE RESOLUTIONS OF THE TWO #---------------------------------------------------------------------------------- slab, bulk = pot.match_resolution(slab, bulk) plt.plot(bulk[:,1]) plt.show() #---------------------------------------------------------------------------------- # TRANSLATE THE BULK POTENTIAL TO GET OVERLAP #---------------------------------------------------------------------------------- bulk_trans = pot.translate_grid(bulk, 3.13,True,np.dot(Vector_B[1],elect_ratio),0.42) bulk_trans = pot.translate_grid(bulk_trans, 6.57,False,np.dot(Vector_B[1],elect_ratio),0.42)