Beispiel #1
0
 def plotGeom(self, atomSize=0.1, edge=True, ec='k'):
     atoms, tmp1, tmp2 = Bu.loadAtoms(
         os.path.join(self.paths['inputPath'], 'input_plot.xyz'))
     del tmp1, tmp2
     self.plotData['geom_plot'] = atoms
     plt.fig = plt.gcf()
     es = atoms[0]
     xs = atoms[1]
     ys = atoms[2]
     for i in range(len(xs)):
         fc = '#%02x%02x%02x' % elements.ELEMENT_DICT[es[i]][
             7]  #; print "DEBUG: fc", fc ; ##fc = '#FFFFFF' ##
         if not edge:
             ec = fc
         circle = plt.Circle((xs[i], ys[i]), atomSize, fc=fc, ec=ec)
         plt.fig.gca().axes.add_artist(circle)
Beispiel #2
0
elif (tip_orb == 'dxzyz'):
    tc = [0., 0., 0., 0., 0., 0.5, 0.5]  # [s, px, py, pz, dz2, dxz, dyz ]
elif (tip_orb == 'px'):
    tc = [0., 1., 0., 0., 0., 0., 0.]  # [s, px, py, pz, dz2, dxz, dyz ]
elif (tip_orb == 'py'):
    tc = [0., 0., 1., 0., 0., 0., 0.]  # [s, px, py, pz, dz2, dxz, dyz ]
else:
    print("Don't know what kind od tip you mean. I rather going to exit.")
    exit()

#print "DEBUG: tc ", tc , " [s, px, py, pz, dz2, dxz, dyz ] "

# --- Reading geometry for plotting (if necessary)  --- #

if (plot_atoms):
    geom_plot, tmp1, tmp2 = Bu.loadAtoms('input_plot.xyz')
    del tmp1, tmp2
    #print "DEBUG: geom_plot", geom_plot
else:
    geom_plot = None

# --- the grid on which the STM signal is calculated --- #

if ((tip_type == 'relaxed') or (tip_type == 'r')):
    print(
        "Importing positions of PP from the PP-AFM calculations. Path for the data:"
    )
    path_pos = "Q%1.2fK%1.2f/" % (Q, K)
    print(path_pos)
    tip_r, lvec, nDim = GU.load_vec_field(path_pos + 'PPpos',
                                          data_format=data_format)