def radiusVsRate(folder="."): temperatures = list(range(120, 221, 5)) plt.title("Average island growth") label = r'Average island radius growth rate $ \sqrt{{ \dot{{r}} }}$' plt.ylabel(label) label = r'Time-averaged total rate $< R >_t }}$' plt.xlabel(label) plt.grid(True) currentResults = results.Results() sqrt = True interval = True print(folder) try: os.chdir(folder) oneResult = mk.getIslandDistribution(temperatures, sqrt, interval) currentResults.append(oneResult) except OSError: print("error changing to {}".format(folder)) a = 0 #do nothing plt.loglog(currentResults.totalRatio(), currentResults.growthSlope(), label="growth" + folder) plt.loglog(currentResults.totalRatio(), currentResults.gyradius(), label="gyradius") plt.loglog(currentResults.totalRatio(), 1000 / currentResults.perimeter(), label="perimeter") plt.legend(loc='upper left', prop={'size': 6})
label = r'$\frac{s v_s}{r_g^2}$' plt.ylabel(label) label = r'R (total rate)' plt.xlabel(label) plt.grid(True) workingPath = os.getcwd() for f in i.getFluxes(): folder = "flux3.5e" + str(i) print(folder) try: p = i.getInputParameters(glob.glob(f + "/*/output*")[0]) os.chdir(f) temperatures = i.getTemperatures() meanValues = mk.getIslandDistribution(temperatures, False, False) except (OSError, IndexError): print("error changing to flux {}".format(f)) continue os.chdir(workingPath) vs = meanValues.getGrowthSlope() s = (0.3 * 400 * 400) / meanValues.getIslandsAmount() vg = meanValues.getGyradiusSlope() rtt = mk.getRtt(temperatures) d = fun.fractalD(rtt / p.flux) rg = meanValues.getLastGyradius() print(len(d), len(s), len(rg)) command = "d * ((s*vs)/rg**2)" y = eval(command) x = meanValues.getTotalRatio() print(len(x), len(y))
plt.ylabel(label) label = r'r_tt/F^0.33' plt.xlabel(label) plt.grid(True) workingPath = os.getcwd() temperatures = list(range(120, 321, 5)) for i in range(-6, 1): folder = "flux3.5e" + str(i) flux = float("3.5e" + str(i)) print(folder) try: os.chdir(folder) meanValues = mk.getIslandDistribution(temperatures, sqrt=False, interval=False, growth=False) except OSError: print("error changing to {}".format(folder)) a = 0 #do nothing os.chdir(workingPath) islands = meanValues.getIslandsAmount() indexes = np.where(islands > 0) islands = islands[indexes] v = (0.7 * flux * 400 * 400 / (islands)) / (flux**0.77) t = np.array(temperatures)[indexes] n = (flux**0.23) / (islands) r = np.array(mk.getRtt(t)) / (flux**0.33) plt.loglog(r, v, ".", label="N " + folder) if (i == -1):
kb = 8.6173324e-5 maxCoverage = 50 for i in range(initFlux, endFlux): folder = "flux3.5e" + str(i) flux = float("3.5e" + str(i)) sqrt = False interval = False growth = True verbose = False print(folder) try: os.chdir(folder) meanValues = mk.getIslandDistribution(temperatures, sqrt, interval, growth, verbose, flux, maxCoverage) except OSError: print("error changing to {}".format(folder)) a = 0 #do nothing os.chdir(workingPath) rtt = mk.getRtt(temperatures) growthSlope = meanValues.getGrowthSlope() totalRatio = meanValues.getTotalRatio() fractalD = f.fractalD(rtt / flux**0.5) shapeF = mk.shapeFactorFunc(rtt / flux**0.5) gyradius = meanValues.getGyradiusSlope() n = meanValues.getIslandsAmount() perimeterSlopes = meanValues.getInnerPerimeterSlope() numberOfMonomers = meanValues.getMonomersAmount()
label = r'Average island radius growth rate / $(v_g / F^{0.11})$' plt.ylabel(label) label = r'Time-averaged total rate $ < R >_t/F^{0.79} $' plt.xlabel(label) plt.grid(True) temperatures = list(range(120, 321, 5)) workingPath = os.getcwd() results = results.Results() for i in range(-6, 1): folder = "flux3.5e" + str(i) flux = float("3.5e" + str(i)) print(folder) try: os.chdir(folder) results.append(mk.getIslandDistribution(temperatures, False, False)) except OSError: print("error changing to {}".format(folder)) os.chdir(workingPath) vs = results.growthSlope() vg = results.gyradius() y = vs / (vg / flux**0.11) x = results.totalRatio() / flux**0.79 plt.loglog(x, y, label=folder) plt.legend(loc='upper left', prop={'size': 6}) plt.savefig("vsVgVsRate.png") plt.close() print("Good bye!")
label = r'Number of islands (N)/F^0.23' plt.ylabel(label) plt.figure(num=None, figsize=(5,5), dpi=80, facecolor='w', edgecolor='k') label = r'r_tt/F^0.33' plt.xlabel(label) plt.grid(True) workingPath = os.getcwd() coverage = int(sys.argv[1]) for f in i.getFluxes(): try: p = i.getInputParameters(glob.glob(f+"/*/output*")[0]) os.chdir(f) temperatures = i.getTemperatures() meanValues = mk.getIslandDistribution(temperatures, sqrt=False, interval=False, growth=False, verbose = False, flux=-1, maxCoverage=coverage) except (OSError, IndexError): print ("error changing to {}".format(f)) continue os.chdir(workingPath) v = 0.82*400*400/meanValues.getIslandsAmount()*(p.flux**0.21) n = meanValues.getIslandsAmount()/(p.flux**0.23) r = np.array(mk.getRtt(temperatures))/(p.flux**0.33) plt.loglog(r, n, "-", label="N "+f+" "+str(coverage)) if (i == 0): x = r c = [] exponent = [] for i in temperatures: if (i > 250):
plt.ylabel(label) label = r'Time-averaged total rate $\frac{{ < R >_t }}{{ F ^{{ {} }} }}$'.format( xPower) plt.xlabel(label) plt.grid(True) sqrt = True workingPath = os.getcwd() temperatures = list(range(120, 221, 5)) for i in range(-6, 5): folder = "flux3.5e" + str(i) flux = float("3.5e" + str(i)) print(folder) try: os.chdir(folder) meanValues = mk.getIslandDistribution(temperatures, sqrt) except OSError: print("error changing to {}".format(folder)) a = 0 #do nothing os.chdir(workingPath) plt.loglog(meanValues.getTotalRatio() / flux**xPower, meanValues.getGrowthSlope() / flux**yPower, label=folder) plt.loglog(meanValues.getTotalRatio() / flux**xPower, meanValues.getGyradiusSlope() / flux**yPower, '--', label="gyradius " + str(flux)) plt.legend(loc='upper left', prop={'size': 6}) plt.savefig("radiusVsModifiedRate.png") plt.close()
#plt.figure(num=None, figsize=(4,4), dpi=80, facecolor='w', edgecolor='k') #plt.figure(num=2, figsize=(4,4), dpi=80, facecolor='b', edgecolor='k') plt.grid(True) temperatures = np.array(list(range(120, 321, 5))) workingPath = os.getcwd() kb = 8.6173324e-5 for i in range(-3, 1): folder = "flux3.5e" + str(i) flux = float("3.5e" + str(i)) print(folder) try: os.chdir(folder) meanValues = mk.getIslandDistribution(temperatures, sqrt=False, interval=False, growth=True, verbose=False, flux=flux) except OSError: print("error changing to flux {}".format(folder)) os.chdir(workingPath) vs = meanValues.getGrowthSlope() vsM = meanValues.growthSlopes fs = meanValues.getFluctuationSizes() vsPrime = np.maximum(vs, (1 + fs**(4 / 3)) * flux**1.08) N = (0.3 * 400 * 400) / meanValues.getIslandsAmount() N = meanValues.getIslandsAmount() N2 = meanValues.getIslandsAmount2() n = meanValues.getMonomersAmount() fn = meanValues.getFluctuationMonomers()