Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

Z

Zhy2022

@Zhy2022
关于
帖子
77
主题
6
群组
0
粉丝
1
关注
3

帖子

最新

  • 关于算例bubbleColumnPolydisperse
    Z Zhy2022

    请问李老师及各位老师:算例bubbleColumnPolydisperse算例计算完成后可以看到alpha.bubbles,这是如何实现的呢?

    b0260c41-a0ec-40f3-9e79-8d2cfdd127bf-image.png


  • OpenFOAM libtorch tutorial step by step
    Z Zhy2022

    @李东岳 李老师,直接foamRun还是报一样的错误


  • OpenFOAM libtorch tutorial step by step
    Z Zhy2022

    @李东岳 李老师,问题解决了,是我把option文件改错了个地方。。新的问题又来了,我在OF11中(仍是该虚拟机)对bed案例进行foamRun或foamRun -solver multiphaseEuler时,为何报错:```
    --> FOAM FATAL ERROR:
    solvers table is empty

    From function static Foam::autoPtr<Foam::solver> Foam::solver::New(const Foam::word&, Foam::fvMesh&)
    in file solver/solverNew.C at line 48.
    

  • OpenFOAM libtorch tutorial step by step
    Z Zhy2022

    想请问李老师:我使用全系列虚拟机(您已提前配置好),再运行第6步这个简单例子,报错未找到torchFoam这个命令,是啥原因造成的呢:135: 编译过程中有很多warning和note应该不影响吧


  • controlDict文件中关于自动调节库朗数
    Z Zhy2022

    @hitsc30 稳定状态感觉没什么影响,但是瞬态的话影响很大。我一般都还是保持在1以下。个人愚见库朗数30+还不如把网格画粗一点。不过结果对得上最重要:146:


  • 关于multiphaseEulerFoam的计算问题
    Z Zhy2022

    @李东岳 东岳老师,请问这个速度能不能从10-2下降到10-4或者-6?


  • 在collidingCloud中添加一个体积分数的判定,怎么实现?
    Z Zhy2022

    您好,请问这个问题您是否有好的解决办法了吗?
    强制设为0可能不太对,反映出来的可能不是压实效果。。


  • 用twoPhaseEulerFoam求解水砂输送的问题
    Z Zhy2022

    有关tfm中spurious velocity的问题,不知各位前辈有没有好的解决方法:xiezuoye:
    71e85801-0b36-4937-8c49-a3cfad7adf64-image.png


  • 关于multiphaseEulerFoam中固相摩擦黏度的计算问题
    Z Zhy2022

    @李东岳 东岳老师,从下面几个式子看,固相黏度应该都是半经验表达式,所以0.5可能是个实验获得的参数:
    d7cd3790-cd15-45c3-bad9-6dcba069f6f6-image.png (JJ)
    bcc611d5-bc11-49c6-beb6-73d08b8496ad-image.png (Schaeffer)
    a5a9446d-2284-45ea-b94d-84d8125963b2-image.png (Princeton)

    此外,princeton中摩擦应力计算如下:
    b334a3b1-6081-4a12-bb32-5f3c04cca839-image.png
    3e038a48-fde7-41ec-9125-df2a1283aecb-image.png

    对通量的处理:

    const volVectorField& U = phase.U();
    surfaceScalarField phiU = fvc::interpolate(U) & U.mesh().Sf();
     volScalarField Ud = fvc::div(phiU);
    

    对压力计算:

    const volScalarField pc = Fr_*pow(max(alpha - alphaMinFriction, scalar(0)), eta_)
                                /pow(max(alphaMax - alpha, alphaDeltaMin_), p_);
    ......
    
    //对体
    forAll(n,celli) 
        {
            if (Ud[celli] < 0.0)
            {
                n[celli] = 1.03;
            }
            else
            {
                n[celli] = 0.5*sqrt(3.0)*sin(phi_.value());            
            }
            m[celli] = n[celli]-1;
        
            //..No negative base. 对不对?
            pt[celli] =  1.0-Ud[celli]/( n[celli]*sqrt(2.0)*sin(phi_.value())* (sqrt(Us[celli]) + small) );
            if (!(pt[celli] > 0.0))
            {
                pt[celli] = small;
            }
            
            //..No negative exponent.
            if (m[celli] > 0)
            {
                //n-1 power
                pt[celli] = pc[celli]*pow(pt[celli], m[celli]);
            }
            else
            {
                pt[celli] = pc[celli]*pow(1/pt[celli], mag(m[celli]));
            }
        }              
    ......
    
    //对面
    forAll(currPatch,facei)
            {
                if(UdBf[patchi][facei] < 0.0)
                {
                   nBf[patchi][facei] = 1.03;
                }
                else
                {
                   nBf[patchi][facei] = 0.5*sqrt(3.0)*sin(phi_.value());
                }
                mBf[patchi][facei] = nBf[patchi][facei]-1;
    
                ptBf[patchi][facei] = 1.0-UdBf[patchi][facei]/( nBf[patchi][facei]*sqrt(2.0)*sin(phi_.value())* (sqrt(UsBf[patchi][facei]) + small) );
                
                if (!(ptBf[patchi][facei] > 0.0))
                {
                   ptBf[patchi][facei] = small;
                }
            
                //..No negative exponent.
                if (mBf[patchi][facei] > 0)
                {
                    ptBf[patchi][facei] = pcBf[patchi][facei]*pow(ptBf[patchi][facei], mBf[patchi][facei]);
                }
                else
                {
                    ptBf[patchi][facei] = pcBf[patchi][facei]*pow(1/ptBf[patchi][facei], mag(mBf[patchi][facei]));
                }
            } 
        }  
        
        // Correct BCs
        pt.correctBoundaryConditions();
        Us.correctBoundaryConditions();
        Ud.correctBoundaryConditions();
    
    

    黏度计算:

    //对体
    forAll(Ud,celli) 
        {
            if (Ud[celli] < 0)
            {
                n[celli] = 1.03;
            }
            else
            {
                n[celli] = 0.5*sqrt(3.0)*sin(phi_.value());            
            }
            m[celli] = n[celli]-1;
    
            if (!(pc[celli] > 0))
            {
                pc[celli] = small;
            }
            
            //..pf is a const.
           
            //calculation of nu
            if (m[celli] > 0)
            {            
                nu[celli] = sqrt(2.0)*pf[celli]*sin(phi_.value())*
                            ( n[celli]-(n[celli]-1.0)*pow(pf[celli]/(pc[celli]), 1/m[celli]) )
                            /(sqrt(Us[celli]) + small);
            }
            else
            {
                nu[celli] = sqrt(2.0)*pf[celli]*sin(phi_.value())*
                            ( n[celli]-(n[celli]-1.0)*pow(pc[celli]/(pf[celli]+small), mag(1/m[celli])) )
                            /(sqrt(Us[celli]) + small);
            }
        }
    ......
    
    
    //对面
     forAll(patches, patchi)
        {
         
          if (!patches[patchi].coupled())
          {
            const fvPatch& currPatch = patches[patchi];
            forAll(currPatch,facei)
            {
                if(UdBf[patchi][facei] < 0.0)
                {
                   nBf[patchi][facei] = 1.03;
                }
                else
                {
                   nBf[patchi][facei] = 0.5*sqrt(3.0)*sin(phi_.value());
                }
                mBf[patchi][facei] = nBf[patchi][facei]-1;
    
                if (!(pcBf[patchi][facei] > 0.0))
                {
                    pcBf[patchi][facei] = small;
                }
    
                                  
                if (mBf[patchi][facei] > 0)
                {
                    nuBf[patchi][facei] = sqrt(2.0)*pf.boundaryField()[patchi][facei]*sin(phi_.value())*
                                          ( nBf[patchi][facei]-(nBf[patchi][facei]-1.0)*pow(pfBf[patchi][facei]/pcBf[patchi][facei], 1/mBf[patchi][facei]) )
                                          /(sqrt(UsBf[patchi][facei]) + small);
                }
                else
                {
                    nuBf[patchi][facei] = sqrt(2.0)*pf.boundaryField()[patchi][facei]*sin(phi_.value())*
                                          ( nBf[patchi][facei]-(nBf[patchi][facei]-1.0)*pow(pcBf[patchi][facei]/(pfBf[patchi][facei]+small), mag(1/mBf[patchi][facei])) )
                                          /(sqrt(UsBf[patchi][facei]) + small);
                }
            }
          } 
        } 
        
        nu.correctBoundaryConditions();
        Us.correctBoundaryConditions();
        pc.correctBoundaryConditions(); 
        Ud.correctBoundaryConditions(); 
    

    结果在相分数0.5左右(摩擦黏度产生处)报错:
    149e14c3-5f93-4325-980c-2e15732c8f04-image.png
    36f75fde-3108-44a1-88ee-ba7eee7d1aa7-image.png

    相分数出现突变,而且无法增大(继续堆积),增大就会报错,不知道是哪个地方的处理有问题,还请东岳老师和其他前辈能解答一二!


  • 关于multiphaseEulerFoam中固相摩擦黏度的计算问题
    Z Zhy2022

    @李东岳 :high: :high: :high:


  • 关于multiphaseEulerFoam中固相摩擦黏度的计算问题
    Z Zhy2022

    @李东岳 谢谢李老师!0.5暂时还没有找到足够有说服力的依据,只是看到有些文献里直接用的μ=0.5pfsin(phi);
    但我觉得wachem2000里面公式不太对,因为他引用的JJ的文章是这样定义的:7aae97ac-3754-40e4-a435-21cccb23f6e0-image.png


  • 关于multiphaseEulerFoam中固相摩擦黏度的计算问题
    Z Zhy2022

    请教各位前辈一个问题:
    268a789a-7dc8-4835-a14b-9a555865d688-image.png
    phi是一个surfaceScalarField,和volScalarField不矛盾吗?

    此外,现在需要对速度散度判断,以确定n的取值:
    ab4b0384-55c3-4a21-b5aa-677b1b44c21f-image.png
    n是一个volScalarField或者scalar也可以,要计算:
    4da41b5d-9c03-426c-be01-c69940e0402a-image.png
    写循环的话,应该用div(U),还是div(phi)?(ps和pc都是volScalarField)


  • 有关固相应力模型修改过程中frictionalPressure返回值的问题
    Z Zhy2022

    @Yongbo :high: 谢谢


  • 某高阶格式偶尔收敛,偶尔发散
    Z Zhy2022

    @李东岳 李老师,请问发散后继续计算又不发散了,比如如下报错:
    a0c00201-ea8c-4d8d-bdad-e4e033c1ad9e-image.png
    或者报错与solver有关(gauss-seidel),这证明植入的模型还是不容易收敛是吧?


  • 用twoPhaseEulerFoam求解水砂输送的问题
    Z Zhy2022

    @veen 还在整理研究结果:136: ,但是也有了一点新认识:
    1)沉降效果与曳力模型和颗粒粒径有关;
    2)砂堤回缩与边界条件和固相应力模型(猜测,用JJ比JJShaffer要好,且正在植入其他模型)有关;
    3)达不到alphaMax我猜想可能也和固相应力模型有关。
    争取早日把成果研究整理分享出来


  • 关于multiphaseEulerFoam中固相摩擦黏度的计算问题
    Z Zhy2022

    请教各位前辈老师:
    83f368bc-ac55-40bd-89f1-c6ae39ea5c04-image.png
    7a4f9461-8793-44b1-83f4-38b96cd3e3e1-image.png
    JJ模型中的0.5是哪来的呢?


  • 有关固相应力模型修改过程中frictionalPressure返回值的问题
    Z Zhy2022

    请教各位前辈:

    针对成员函数:
    876255b7-5414-461c-9080-8e7199847c80-image.png
    定义:
    21e635a6-dedb-4193-a05d-18ce3f0cb443-image.png
    返回值:
    27dda96e-0cdb-4407-8526-ff422fdc6dd7-image.png
    报错:
    f5302213-fa47-4d35-9d42-3fe1aa95718b-image.png

    但直接返回:
    c55df5c3-bdcc-45df-a22c-52daf2697fda-image.png
    计算没问题,不知问题出在哪里


  • 在曳力模型中植入网格中心到边界距离的问题
    Z Zhy2022

    在dargmodel.C这个衍生类中没有mesh这个成员对象,不知道该如何引入

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]