Trisurf Monte Carlo simulator
Samo Penic
2016-06-01 f3a6c1779ed6eea30da3c120c05153e9494f6715
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/python3
import sys, getopt
from trisurf import trisurf
import tabulate
 
# -- configuration of the multiple/single run --
 
run1=trisurf.Runner(snapshot='snapshot.vtu')
run1.setMaindir(("N","k","V","Np","Nm"),("nshell","xk0","constvolswitch","npoly","nmono"))
run1.setSubdir("run0")
 
run2=trisurf.Runner(tape='tape', runArgs=['--force-from-tape'])
run2.setMaindir(("N","k","V","Np","Nm"),("nshell","xk0","constvolswitch","npoly","nmono"))
run2.setSubdir("run1")
 
 
#obligatory: combine all runs
Runs=[run1,run2]
 
 
 
#------------------ NO NEED TO TOUCH THE CODE BELOW ------------------------------
 
# -- reading command line switches and acting accordingly --
argv=sys.argv[1:]
processno=0
try:
    opts, args = getopt.getopt(argv,"a:n:hrsc:")
except getopt.GetoptError:
    print('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]')
    sys.exit(2)
for opt, arg in opts:
    if opt == '-h':
        print ('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]')
        sys.exit()
    elif opt == '-r':
        if processno:
            localRuns=[Runs[processno-1]]
        else:
            localRuns=Runs
        for run in localRuns:
            run.start()
    elif opt == '-s':
        report=[]
        i=1
        if processno:
            localRuns=[Runs[processno-1]]
        else:
            localRuns=Runs
        for run in localRuns:
            line=run.getStatistics()
            line.insert(0,i)
            report.append(line)
            i=i+1
            #print(reportstr)
        print ("\n\nTrisurf running processes report\n")
        print (tabulate.tabulate(report,headers=["Run no.", "Run start time", "ETA", "Status", "PID", "Path", "Comment"], tablefmt='fancy_grid'))
    elif opt == '-n':
        processno=int(arg)
        if processno<1 or processno>len(Runs) :
            processno=0
    elif opt == '-c':
        comment = arg
        if processno:
            Runs[processno-1].writeComment(arg)
    elif opt == '-a':
        comment = arg
        if processno:
            Runs[processno-1].writeComment("\n"+arg, 'a')
 
        
    else:
        print('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]')
        sys.exit(2)
 
 
 
 
 
 
 
 
 
# -- OBSOLETE and TESTING --
 
 
 
 
 
#    elif opt in ("-i", "--ifile"):
#        inputfile = arg
#    elif opt in ("-o", "--ofile"):
#        outputfile = arg
#    print ('Input file is "', inputfile)
#    print ('Output file is "', outputfile)
 
 
 
#run1.start()
#run
#print(run1)
#run1.getStatistics()
#print(run1.statistics)
#print(run1.tape)
#print(run1.tape.getValue('nshell'))