Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    MULES算法中的const RhoType &rho

    OpenFOAM
    3
    5
    2871
    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.
    • W
      wingman_li last edited by wingman_li

      MULES算法中的const RhoType &rho 参数是如何使用的?接受volScalarField类型吗?

      1 Reply Last reply Reply Quote
      • 李东岳
        李东岳 管理员 last edited by 李东岳

        const是常数变量,这个变量不能变,不是很理解你的意思,接受类型?const和MULES没关系

        CFD高性能服务器 http://dyfluid.com/servers.html

        W 1 Reply Last reply Reply Quote
        • W
          wingman_li @李东岳 last edited by 李东岳

          @李东岳
          你好!我是想要用MULES求解这个式子
          0_1505632757162_QQ图片20170917145011.png
          可以直接用

          MULES::explicitSolve  
          (
                  rho,
                  alpha,
                  phi,
                  alphaPhi,
                  zeroField(), zeroField(),
                  1, 0
          );
          

          还是要在MULES.C中加一个函数

          void Foam::MULES::explicitSolve
          (
              const RhoType &rho,
              volScalarField& psi,
              const surfaceScalarField& phi,
              surfaceScalarField& phiPsi,
              const scalar psiMax,
              const scalar psiMin
          )
          {
          explicitSolve
          (
              rho,
              psi,
              phi,
              phiPsi,
              zeroField(), zeroField(),
              psiMax, psiMin
          );
          }
          

          因为我看MULES.C中只有一个这个函数

          void Foam::MULES::explicitSolve 
          (
             volScalarField& psi,
             const surfaceScalarField& phi,
             surfaceScalarField& phiPsi,
             const scalar psiMax,
             const scalar psiMix)
          {
          explicitSolve
          (
              geometricOneField(),
              psi,
              phi,
              phiPsi,
              zeroField(), zeroField(),
              psiMax, psiMin
          );
          }
          
          W 1 Reply Last reply Reply Quote
          • W
            wwzhao 教授 @wingman_li last edited by

            这个可以在包含MULES.H头文件后直接用的。

            注意到MULES.C中的函数实现是一个重载版本,有6个参数:

            void explicitSolve
            (
                volScalarField& psi,
                const surfaceScalarField& phiBD,
                surfaceScalarField& phiPsi,
                const scalar psiMax,
                const scalar psiMin
            );
            

            而MULES.H里有几个函数模板,其中一个有8个参数:

            template<class RhoType, class SpType, class SuType>
            void explicitSolve
            (
                const RhoType& rho,
                volScalarField& psi,
                const surfaceScalarField& phiBD,
                surfaceScalarField& phiPsi,
                const SpType& Sp,
                const SuType& Su,
                const scalar psiMax,
                const scalar psiMin
            );
            

            因此只需要包含头文件MULES.H,就能以如下方式使用MULES::explicitSolve函数:

            MULES::explicitSolve  
            (
                    rho,
                    alpha,
                    phi,
                    alphaPhi,
                    zeroField(), zeroField(),
                    1, 0
            );
            
            W 1 Reply Last reply Reply Quote
            • W
              wingman_li @wwzhao last edited by

              @wwzhao 谢谢:happy:

              1 Reply Last reply Reply Quote
              • First post
                Last post

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