turbulentCF_Bowcutt.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:VC3D 作者: AlexanderWard1 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号