예제 #1
0
ffs = []
Ns = []
paramList = []
for file in [ file for file in files if '-E' in file ]:
    ids = file.split('-')
    for id in ids:
        if 'ww' in id: ww = float(id.replace('ww',''))
        if 'ff' in id: ff = float(id.replace('ff',''))
        if 'N' in id: N = int(id.replace('N',''))
    if ww not in wws:
        wws.append(ww)
    if ff not in ffs:
        ffs.append(ff)
    if N not in Ns:
        Ns.append(N)
    p = paramID(args.walls,ww,ff,N,args.nw,files)
    if p not in paramList: paramList.append(p)

# if an parameter isn't given, assume all possible values are wanted
if args.ww == []: args.ww = wws
if args.ff == []: args.ff = ffs
if args.N == []: args.N = Ns

# figure label format
def figLabel(p,option=''):
    return '$\eta=' + str(p.ff) + '$' \
      + (', $N=' + str(p.N) + '$' if option == 'N' else '')

# figure template
def newFig():
    fig = figure(figsize=(xSize/2.54,ySize/2.54))
예제 #2
0
args = parser.parse_args()

# build monte carlo code
exitStatus = sp.call(["scons","-C",projectdir,simname])
if exitStatus != 0:
    print "Build failed"
    exit(exitStatus)

# store all sets to run
paramList = []
for ww in args.ww:
    for ff in args.ff:
        for N in args.N:
            paramList.append(
                paramID(args.walls,ww,ff,N,args.nw))

for p in paramList:
    memory = p.N # fixme: better guess
    jobname = p.name('N')
    basename = "%s/sw-%s" %(jobdir, jobname)
    scriptname = basename + '.sh'
    outname = basename + '.out'
    errname = basename + '.err'

    command = "time nice -19 %s/%s" %(projectdir, simname)

    script = open(scriptname,'w')
    script.write("#!/bin/bash\n")
    script.write("#SBATCH --mem-per-cpu=%i\n" % memory)
    script.write("#SBATCH --output %s\n" % outname)