diff --git a/.gitignore b/.gitignore index 10bcd74..428727a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ __pycache__ build/ logs/ storage/ +*.gz +*.xz *.fls *.aux *.bbl diff --git a/config.py b/config.py index 65982eb..c38645a 100644 --- a/config.py +++ b/config.py @@ -59,9 +59,10 @@ class ViscousLayers(Parameters): ## structures = [ #"simple", - #"bodyCentered", + "bodyCentered", "faceCentered" ] + class simple: theta = [c * 0.01 for c in range(1, 28 + 1)] directions = [ @@ -103,7 +104,7 @@ class bodyCentered: [0, 0, 1], [1, 1, 1] ] - fillet = True + fillet = True fineness = 3 parameters = Parameters( minSize = 0.005, @@ -137,8 +138,8 @@ class faceCentered: #[0, 0, 1], [1, 1, 1] ] - fillet = True - fineness = 1 + fillet = True + fineness = 3 parameters = Parameters( minSize = 0.005, maxSize = 0.05, @@ -155,7 +156,7 @@ class faceCentered: checkChartBoundary = False ) viscousLayers = ViscousLayers( - thickness = 0.001, + thickness = 0.001, # Failing on 0.13-111 numberOfLayers = 2, stretchFactor = 1.2, isFacesToIgnore = True, diff --git a/extra/theta-flowrate.py b/extra/theta-flowrate.py new file mode 100644 index 0000000..26e2bed --- /dev/null +++ b/extra/theta-flowrate.py @@ -0,0 +1,79 @@ +import matplotlib.pyplot as plt +from math import sqrt +import sys, os + +if __name__ == "__main__": + + BUILD = "../build" + postProcessing = "postProcessing/flowRatePatch(name=outlet)/0/surfaceFieldValue.dat" + + #structures = [ + # "simple", + # #"bodyCentered", + # #"faceCentered" + #] + + theta = [c * 0.01 for c in range(1, 28 + 1)] + directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] + ] + flowrate = [ [] for n in range(3) ] + + #nu = 1e-06 + #p = [1e-03, 0] + + for num, d in enumerate(directions): + for t in theta: + path = os.path.join( + BUILD, + "simple", + "direction-{}{}{}".format(*d), + "theta-{}".format(t), + postProcessing + ) + + with open(path, "r") as io: + lastLine = io.readlines()[-1] + + value = lastLine.replace(" ", "").replace("\n", "").split("\t")[1] + flowrate[num].append(float(value)) + + k2, k3 = [], [] + + for n, _ in enumerate(flowrate[0]): + k2.append(2 * flowrate[1][n] / flowrate[0][n]) + k3.append(2 * flowrate[2][n] / flowrate[0][n]) + + + plt.figure(1) + + ax = plt.subplot(211) + line, = ax.plot(theta, flowrate[0], "o") + line.set_label("[1, 0, 0]") + + line, = ax.plot(theta, flowrate[1], "o") + line.set_label("[0, 0, 1]") + + line, = plt.plot(theta, flowrate[2], "o") + line.set_label("[1, 1, 1]") + + ax.set_yscale("log") + + plt.legend() + plt.grid(True) + plt.xlabel("theta") + plt.ylabel("flowRate") + + ax = plt.subplot(212) + line, = ax.plot(theta, k2, "o") + line.set_label("k2") + line, = ax.plot(theta, k3, "o") + line.set_label("k3") + plt.legend() + plt.grid(True) + plt.xlabel("theta") + plt.ylabel("k") + + plt.show() diff --git a/samples/simple.py b/samples/simple.py index 6905776..a005307 100644 --- a/samples/simple.py +++ b/samples/simple.py @@ -29,7 +29,8 @@ def simpleCubic(theta = 0.01, fillet = False, direction = [1, 0, 0]): C1, C2 = 0.8, 0.5 #0.8, 0.05 theta1, theta2 = 0.01, 0.28 Cf = C1 + (C2 - C1) / (theta2 - theta1) * (theta - theta1) - filletradius = 0.2 - Cf * (radius - r0) + delta = 0.2 + filletradius = delta - Cf * (radius - r0) scale = 100 oo = geompy.MakeVertex(0, 0, 0) @@ -168,7 +169,8 @@ def simpleHexagonalPrism(theta = 0.01, fillet = False, direction = [1, 1, 1]): C1, C2 = 0.8, 0.5 # 0.8, 0.05 theta1, theta2 = 0.01, 0.28 Cf = C1 + (C2 - C1) / (theta2 - theta1) * (theta - theta1) - filletradius = 0.2 - Cf * (radius - r0) + delta = 0.2 + filletradius = delta - Cf * (radius - r0) scale = 100 oo = geompy.MakeVertex(0, 0, 0)