def calculateTurbulent_cf(self, S_0):
"""
Return the respective streamline given a starting position.
point : [x y z] defining the starting point. MUST be one of the
starting points used to generate the streamlines in the first place.
"""
self.getProperties(S_0, 'turbulent')
cf_0 = 0.455 / ( self.Q**2. * log(0.06/self.Q * self.localReynolds * self.mu/self.mu_wall * (self.TwOnT)**-0.5 )**2.)
cf_0 = 0.00165
self.chi_0 = (2. / cf_0)**0.5
self.streamlineCfs = []
self.streamlineXs = []
r1 = ode(self.whiteChristoph1).set_integrator('dopri5', atol=1e-2, rtol=1e-2, )
r1.set_initial_value(self.chi_0, S_0)
r2 = ode(self.whiteChristoph2).set_integrator('dopri5', atol=1e-2, rtol=1e-2, )
r2.set_initial_value(self.chi_0, S_0)
dt = 0.01
# Integrate along the streamline
while r1.t < self.parameterisedStreamline[-1] and r2.t < self.parameterisedStreamline[-1]:
# print r1.t + dt
# print r2.t + dt
r1.integrate(r1.t+dt)
if self.ReynoldsStar < 0:
self.streamlineCfs.append(2. / r1.y**2.)
self.streamlineXs.append(r1.t)
else:
# print "r2"
r2.integrate(r2.t+dt)
if r1.y/self.chi_max < 0.36:
self.streamlineCfs.append(2. / r1.y**2.)
self.streamlineXs.append(r1.t)
elif r2.y/self.chi_max > 0.36:
self.streamlineCfs.append(2. / r2.y**2.)
self.streamlineXs.append(r2.t)
else:
print "Something stuffed up"
return self.streamlineCfs, self.streamlineXs
评论列表
文章目录