Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    pr 状态方程的另一种求解方法

    OpenFOAM
    2
    7
    3921
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xiaoming last edited by

      pr方程可以看做 v 的一元三次函数
      通过 b p t 构造迭代函数求解 v
      有谁可以指点一下怎么迭代求解V的吗

      1 Reply Last reply Reply Quote
      • X
        xiaoming last edited by

        ![0_1487120337727_QQ截图20170215085759.jpg](正在上传 100%)

        1 Reply Last reply Reply Quote
        • C
          CFD中文网 last edited by

          不是很清楚问的问题,v是什么?bpt是什么?

          CFD中国标准用户测试帐号
          目前由徐笑笑登录

          1 Reply Last reply Reply Quote
          • X
            xiaoming last edited by

            0_1487296265090_QQ截图20170215085759.jpg

            1 Reply Last reply Reply Quote
            • X
              xiaoming last edited by

              b = 0.0778RTc*Pc Tc Pc 临界参数
              V 是摩尔体积
              p t 是温度压力

              1 Reply Last reply Reply Quote
              • X
                xiaoming last edited by CFD中文网

                template<class Specie>
                inline Foam::scalar Foam::PengRobinson<Specie>::rho
                (
                    scalar p,
                    scalar T
                ) const
                {
                           scalar b = 0.07780*this->R()*Tc_/Pc_;
                           scalar a = 0.45724*sqr(this->R())*sqr(Tc_)/Pc_;
                           scalar Tr = T/Tc_;
                           scalar alpha =
                           sqr
                           (
                              1.0
                              + (0.37464 + 1.54226*omega_- 0.26992*sqr(omega_))
                              * (1.0 - sqrt(Tr))
                           );
                           scalar c = (alpha*a);//a(T)
                           scalar V0 = b;
                
                           do
                           {
                              d = sqr(V0) + 2*b*V0 - sqr(b);
                              V = b + (this->R()*T - p)*(d/c);
                              V0 = V;
                           }
                           while
                           (
                              fabs(V - V0) < 1e-6
                           );           
                
                        return (this->W()/V0);
                }
                
                1 Reply Last reply Reply Quote
                • X
                  xiaoming last edited by

                  我这样写不对啊? 不知道哪位可以给看看毛病在哪@administrators @李东岳

                  1 Reply Last reply Reply Quote
                  • First post
                    Last post

                  CFD中文网 | 东岳流体 | 京ICP备15017992号-2
                  论坛登录问题反馈可联系 li.dy@dyfluid.com