80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
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()
|