コード例 #1
0
ファイル: miniTopSim.py プロジェクト: wsteiger/miniTopSim
def main():
    '''
    Die Parameter werden beim Aufruf aus dem config-Files abgerufen
    usage: >> miniTopSim.py <ConfigFiles...>
    '''
    if(len(argv) > 1 ):
        configFileNames = argv[1:]
    else: 
        stderr.write('Error: usage: '+ argv[0] + ' <filename.cfg>')
        stderr.flush()
        exit(2)
    
    # Read the parameter file
    par.init()
    print('Configuration files:\n{0}\n'.format(configFileNames))
    for configFiles in configFileNames:
        par.read(configFiles)
        surface = Surface()
        with open(surface.get_surfaceFile(), "w") as file:
            #initial values
            surface.write(file, 0)
            total_time = par.TOTAL_TIME
            dt = par.TIME_STEP
            time =  1 #np.arange(initialTime, total_time + dt, dt)
            
            while time <= total_time:
                surface.process(dt)
                surface.write(file, time * dt)
                time += dt
        plot = Plot(surface.get_surfaceFile())
        plot.plot()
コード例 #2
0
ファイル: gui.py プロジェクト: PhilW92/miniTopSim
 def run(self,argv): 
     IOParameter.init()
     if len(argv) > 1:    
         filename = argv[1]
         IOParameter.read(filename)
     database = self.readDatabase()
     self.drawGUI(database)
コード例 #3
0
ファイル: miniTopSim.py プロジェクト: PhilW92/miniTopSim
def main():
    '''
    Die Parameter werden beim Aufruf aus dem config-File abgerufen
    usage: >> miniTopSim.py <ConfigFile>
    '''  
    if(len(sys.argv) == 2 ):
        configFileName = str(sys.argv[1])
    else: 
        sys.stderr.write('Error: usage: '+ sys.argv[0] + ' <filename.cfg>')
        sys.stderr.flush()
        exit(2)
    
    # Read the parameter file
    par.init()
    par.read(configFileName)
    
    # Listen xvals und yvals werden erzeugt
    xvals,yvals = init_values()
   
    with open(par.INITIAL_SURFACE_FILE,"w") as file:
        #Werte zum Zeitpunkt t=0
        write(file, 0 , xvals,yvals)
        # Start time measurement
        startTime = time.clock()
        SurfaceProcess(xvals,yvals,file)
        # Stop time measurement and print it
        endTime = time.clock()
        print("Calculation Time: " + str(endTime - startTime) + " seconds")
        
    plot.plot(par.INITIAL_SURFACE_FILE)
コード例 #4
0
def main():
    '''
    Es handelt sich um Isotropes Aetzen einer Oberflaeche entlang der Winkelsymmetrale (1nm/s):
    Es werden zwei Parameter ueber die command line uebergegeben, die Zeit t ueber die 
    geaetzt wird und die Zeitschrittweite dt.
    
    usage: >> miniTopSim.py t dt
    
    Außerdem werden die Koordinaten ins eine Datei geschrieben in dem Format:
    
    surface: time, npoints, x-positions y-positions
    x[0] y[0]
    x[1] y[1]
    ...
    x[npoints-1] y[npoints-1]
    
    '''

    # Falls weniger oder mehr als zwei parameter uebergegeben werden,
    # kommt eine Fehlermeldung die Die richtige Eingabe deutet
    if (len(sys.argv) == 2):
        configFileName = str(sys.argv[1])
    else:
        sys.stderr.write('Error: usage: ' + sys.argv[0] + ' <filename.cfg>')
        sys.stderr.flush()
        exit(2)

    # Read the parameter file
    par.init()
    par.read(configFileName)

    # Listen xvals und yvals werden erzeugt
    xvals, yvals = init_values(par.XMIN, par.XMAX, par.DELTA_X)

    # Die Oberflaeche zum Zeipunkt t=0 wird geplotet
    # plotten(xvals,yvals,'bo-','Anfangszeitpunkt')

    # Es wird ein File erzeugt mit der Name 'basic_t_dt.srf', wobei t und dt durch
    # die Tatsaechliche Zeit und Zeitschrittweite ersetz werden. Außerdem wird in die Datei
    # die Oberflaeche zum Zeitpunkt t=0 reingeschrieben (xvals und yvals in spalten)
    file = open('basic_{0}_{1}.srf'.format(par.TOTAL_TIME, par.TIME_STEP), "w")
    write(file, 0, xvals, yvals)

    aetzen(file, par.TOTAL_TIME, par.TIME_STEP, xvals, yvals)

    file.close()

    # Die Oberflaeche zum Endzeitpunkt wird geplotet
    # plotten(xvals,yvals,'ro-','Endzeitpunkt')

    fname = 'basic_{0}_{1}.srf'.format(par.TOTAL_TIME, par.TIME_STEP)
    plot.plot(fname)
コード例 #5
0
def main():
    '''
    Es handelt sich um Isotropes Aetzen einer Oberflaeche entlang der Winkelsymmetrale (1nm/s):
    Es werden zwei Parameter ueber die command line uebergegeben, die Zeit t ueber die 
    geaetzt wird und die Zeitschrittweite dt.
    
    usage: >> miniTopSim.py t dt
    
    Außerdem werden die Koordinaten ins eine Datei geschrieben in dem Format:
    
    surface: time, npoints, x-positions y-positions
    x[0] y[0]
    x[1] y[1]
    ...
    x[npoints-1] y[npoints-1]
    
    '''
    
    # Falls weniger oder mehr als zwei parameter uebergegeben werden,
    # kommt eine Fehlermeldung die Die richtige Eingabe deutet
    if(len(sys.argv) == 2 ):
        configFileName = str(sys.argv[1])
    else: 
        sys.stderr.write('Error: usage: '+ sys.argv[0] + ' <filename.cfg>')
        sys.stderr.flush()
        exit(2)
    
    # Read the parameter file
    par.init()
    par.read(configFileName)
    
    # Listen xvals und yvals werden erzeugt
    xvals,yvals = init_values(par.XMIN, par.XMAX, par.DELTA_X)
        
    # Die Oberflaeche zum Zeipunkt t=0 wird geplotet
    # plotten(xvals,yvals,'bo-','Anfangszeitpunkt')
    
    # Es wird ein File erzeugt mit der Name 'basic_t_dt.srf', wobei t und dt durch 
    # die Tatsaechliche Zeit und Zeitschrittweite ersetz werden. Außerdem wird in die Datei
    # die Oberflaeche zum Zeitpunkt t=0 reingeschrieben (xvals und yvals in spalten)
    file = open('basic_{0}_{1}.srf'.format(par.TOTAL_TIME, par.TIME_STEP),"w")
    write(file, 0 , xvals,yvals)
    
    aetzen(file, par.TOTAL_TIME, par.TIME_STEP, xvals, yvals)
    
    file.close()
    
    # Die Oberflaeche zum Endzeitpunkt wird geplotet
    # plotten(xvals,yvals,'ro-','Endzeitpunkt')
    
    fname = 'basic_{0}_{1}.srf'.format(par.TOTAL_TIME, par.TIME_STEP)
    plot.plot(fname)
コード例 #6
0
ファイル: test_surface.py プロジェクト: wsteiger/miniTopSim
def test_surface():    
    dir_path = os.path.dirname(os.path.abspath(__file__))
    par.init()
    par.read(os.path.join(dir_path, 'test_surface.cfg'))

    surface = Surface()
    print('PRESS ANY KEY TO EXIT THE PLOT')
    for t in arange(1, par.TOTAL_TIME + par.TIME_STEP, par.TIME_STEP):
        surface.process(par.TIME_STEP)
        plt.title('Test Surface{0}'.format(t))
        plt.plot(surface.xvals, surface.yvals, '.r-')
        plt.xlabel('x')
        plt.ylabel('y')
        plt.connect('key_press_event', event)
        plt.show()