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中文网

Y

yjc95

@yjc95
关于
帖子
114
主题
11
群组
0
粉丝
0
关注
0

帖子

最新

  • of10下pitzDaily案例调用SIMPLE算法,代码该如何修改?
    Y yjc95

    @李东岳 对哦,谢谢您


  • of10下pitzDaily案例调用SIMPLE算法,代码该如何修改?
    Y yjc95

    @李东岳 老师,pitzDaily这个案例用的是simpleFoam,代码里面也有设置参考点

            pEqn.setReference
            (
                pressureReference.refCell(),
                pressureReference.refValue()
            );
    

    为啥包括fvSolution文件在内的所有文件都没有设置压力参考点呢?是默认为0吗?


  • of10下pitzDaily案例调用SIMPLE算法,代码该如何修改?
    Y yjc95

    @李东岳 谢谢岳子老师,我很想去,但实际情况不允许。


  • of10下pitzDaily案例调用SIMPLE算法,代码该如何修改?
    Y yjc95

    @李东岳 老师,我改了松弛因子,还是报错

    SIMPLE
    {
        nNonOrthogonalCorrectors 0;
        consistent      no;
    
        residualControl
        {
            p               1e-2;
            U               1e-3;
            "(k|epsilon|omega|f|v2)" 1e-3;
        }
    }
    
    relaxationFactors
    {
        equations
        {
            U               0.9; // 0.9 is more stable but 0.95 more convergent
            ".*"            0.9; // 0.9 is more stable but 0.95 more convergent
            p               0.9; // 
        }
    }
    
    Time = 6s
    
    smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0894736, No Iterations 7
    smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0905951, No Iterations 7
    #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    #1  Foam::sigFpe::sigHandler(int) at ??:?
    #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #3  Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:?
    #4  Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
    #5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
    #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
    #7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #8  Foam::fvMatrix<double>::solve() in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #9  ? in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #10  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #11  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
    #12  ? in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    浮点异常 (核心已转储)
    
    

  • of10下pitzDaily案例调用SIMPLE算法,代码该如何修改?
    Y yjc95

    of10下pitzDaily案例默认采用SIMPLEC算法,consistent为yes

    SIMPLE
    {
        nNonOrthogonalCorrectors 0;
        consistent      yes;
    
        residualControl
        {
            p               1e-2;
            U               1e-3;
            "(k|epsilon|omega|f|v2)" 1e-3;
        }
    }
    

    我想试试用SIMPLE算法,把consistent改为no,simpleFoam求解器里面的pEqn.H文件里有p.relax()(即已经对压力场进行松弛),运行之后报错

    Time = 6s
    
    smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0894736, No Iterations 7
    smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0905951, No Iterations 7
    #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    #1  Foam::sigFpe::sigHandler(int) at ??:?
    #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #3  Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:?
    #4  Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
    #5  Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
    #6  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
    #7  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #8  Foam::fvMatrix<double>::solve() in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #9  ? in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    #10  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #11  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
    #12  ? in "/home/dyfluid/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
    浮点异常 (核心已转储)
    

  • PISO算法讨论
    Y yjc95

    @李东岳 老师我看错了,不好意思


  • PISO算法讨论
    Y yjc95

    @李东岳 岳子老师,先说明下,我不是在故意挑刺,就是看到有些笔误的地方真心难受,很想把它改过来。
    不可压+瞬态 里,方程29是方程28+19得到的,等号右边的$\frac{1}{V_{p}}$应该是加了两遍,那么应该是$\frac{2}{V_{p}}$吧,同理,下面的几个方程也是。
    不可压+稳态 里,方程27以及后面几个方程也是同样的。


  • 势流算法问题
    Y yjc95

    @李东岳 老师,方程(20)的负号应该是正号吧?方程(20)下一行括号里的应该也是正号吧?


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    已更新 http://dyfluid.com/potentialFoam.html

    老师,好像没更新


  • 势流算法问题
    Y yjc95

    老师,先不纠结上面的系数矩阵,我想到了另一种理解方程(11)的角度,对于1D情况,按照方程(11)对网格1进行离散,如下

    c712e83e-6a88-40d8-b0dc-c480fc053590-CodeCogsEqn.svg

    991c797a-26b5-4112-aad2-4b1161e5b48e-1.svg

    故

    $$-\frac{\Phi_{2}-\Phi_{1}}{\Delta x}=-\frac{\partial \Phi} {\partial x}_{A}+S\Delta x$$

    又$$\frac{\partial \Phi }{\partial x}_{A}=0 $$

    故$$-\frac{\Phi_{2}-\Phi_{1}}{\Delta x}=S\Delta x$$

    为了和方程(10)相等,$$S=\frac{u_{inlet}}{\Delta x}$$

    S的第一个分量应该是$\frac{u_{inlet}}{\Delta x}$,不是$ u_{inlet} $吧?
    顺带说一嘴,方程(10)$\frac{\partial \Phi }{\partial x}_{A}$前面应该有个负号吧?


  • 势流算法问题
    Y yjc95

    @yjc95 在 势流算法问题 中说:

    @李东岳 在 势流算法问题 中说:

    推导太长没细看,如果都是1 -2 1,那你的矩阵不相容无法求解。

    老师,我推导出来的系数矩阵是这个,上面是我写错了
    \begin{equation}
    \begin{bmatrix} 1& -1& 0& 0\-1& 2& -1& 0\ 0& -1& 2&-1 \ 0& 0& -1& 1\ \end{bmatrix}
    \end{equation}

    老师,我求出来的系数矩阵确实不相容,可推导过程也看不出问题呀,您推导出的第四行第四列的数字3是咋得到的呢?


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    推导太长没细看,如果都是1 -2 1,那你的矩阵不相容无法求解。

    老师,我推导出来的系数矩阵是这个,上面是我写错了
    \begin{equation}
    \begin{bmatrix} 1& -1& 0& 0\-1& 2& -1& 0\ 0& -1& 2&-1 \ 0& 0& -1& 1\ \end{bmatrix}
    \end{equation}


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    推导太长没细看,如果都是1 -2 1,那你的矩阵不相容无法求解。

    我和您推导的结果最大的区别在于系数矩阵的那个3和源项,这个3是咋求出来的呢?


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    网格2和3,离散出来的系数为啥不一样

    老师,是我笔误,2和3网格系数都是1 -2 1,推导过程没错。


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    你得矩阵看起来不相容。你用的都是零梯度边界条件么

    第一个矩阵是用进口固定梯度,出口固定值条件求出来的,第二个矩阵是用入口零梯度,出口固定值,加上一个源项求出来的。求出来这俩也不等价啊


  • 势流算法问题
    Y yjc95

    @李东岳 在 势流算法问题 中说:

    哪个第一个图?

    另外,按照 http://dyfluid.com/potentialFoam.html 上面写的,目前我们要证明的是,链接里面的方程10(进口固定梯度,出口固定值),与方程11(进口零法向梯度,出口固定值,附加源项)的等价。考虑4网格系统,方程10与11离散出来的矩阵都是:

    \begin{equation}
    \begin{bmatrix}
    1 & -1 & & \\
    -1 & 2 & -1 & \\
    & -1 & 2 & -1 \\
    & & -1 & 3 \\
    \end{bmatrix}
    \begin{bmatrix}
    \Phi_1 \\
    \Phi_2 \\
    \Phi_3 \\
    \Phi_4 \\
    \end{bmatrix} \equiv
    \begin{bmatrix}
    u_{inlet} \\
    0 \\
    0 \\
    v \\
    \end{bmatrix}
    \end{equation}

    老师,方程(11)和进口固定梯度,出口固定值得到的矩阵我又手算了一遍。对于4网格系统:
    450d9bca-8d6d-492e-9ec2-327f811bc737-image.png

    1. 进口固定梯度,出口固定值

    边界条件:
    fe4f4dce-8834-40a6-9608-18b01402a70f-1.svg

    b7db26d7-29ad-4492-835b-93dd95276d32-2.svg

    cell 1:

    ce5938e7-9528-4dc8-ac5c-36d578b7b554-3.svg

    4.svg

    011bb5c1-127e-46ee-9091-b8555f55f9e1-5.svg

    cell 2:

    6.svg

    7.svg

    18030715-1857-4364-9720-d9b6c345fb5c-8.svg

    同理cell 3:

    744e2ac4-5370-4e6b-ab01-a767f14da5d6-9.svg

    cell 4:

    10.svg

    0862b3db-7c54-4fff-a3de-36d4fedce55b-27.svg

    9db9ea88-636a-4d7c-adcd-0cfc5c0bc8ba-12.svg

    矩阵为:

    13.svg

    2. 方程(11)

    边界条件:
    dbab3e79-0904-4e4f-b1b2-6b9edbf6d768-14.svg

    bab20e64-0440-4dce-939f-4593493fc837-15.svg

    cell 1:

    c664ed29-0689-40ee-a178-9d9030881534-16.svg

    383030c8-7747-4c7d-ac79-cc016f05d04e-17.svg

    78f97aa5-4d3b-4fcf-9186-fd8623f83b4e-28.svg

    cell 2:

    6c03a256-5e87-4b81-a211-d974bba6d45e-19.svg

    1e103688-73ce-497a-b3c8-4e4588eade2a-20.svg

    29f9f01b-4d63-4372-bcbe-d87c5e681a84-21.svg

    同理cell 3:

    d14edb14-97bf-43fc-bd37-28c7d1165f85-22.svg

    cell 4:

    23.svg

    e74ab305-afc2-4aa4-9386-78b8a45e063a-24.svg

    76fc0df2-a518-4296-a8ad-d78e14e9e5dc-25.svg

    矩阵为:
    28d3e96a-cdd5-466d-9b3b-e4d7d59e4531-29.svg

    和您算的系数矩阵第四行不一致,和等号右边的第一行和第四行也不一致,但计算过程我检查了好几遍,也没发现问题,问题出在哪儿了?


  • PISO算法讨论
    Y yjc95

    谢谢岳子老师。


  • PISO算法讨论
    Y yjc95

    @Afr1yne
    1.我知道是湍流模型,我想在openfoam的代码中找到它
    3.我了解过FvVectorMatrix,说它存储了Ax=b的相关信息。我也能猜到不是连等,我只是想看看最底层的定义,但我不知道在哪里找。
    在你想标红的字前后加上`


  • PISO算法讨论
    Y yjc95

    @Afr1yne 在 PISO算法讨论 中说:

    @yjc95

    1. icoFoam是不能用湍流模型的,fvm::laplacian(nu , U)是动量方程右边的粘性项。pisoFoam用湍流模型把粘性项模化turbulence->divDevSigma(U)。fvModels.source(U)是源项。
      2.solve(UEqn == -fvc::grad(p))是momentumPredictor里面的,不开的话是用不上的,我感觉你是不是把它理解成求解了?

    谢谢您的回复。
    1.“pisoFoam用湍流模型把粘性项模化turbulence->divDevSigma(U)”具体是咋模化的呢?
    2.“fvModels.source(U)是源项”是哪个源项?是体积力、电场力这种?
    3.假设我打开了动量预测,这俩==该咋理解呢?


  • PISO算法讨论
    Y yjc95

    @李东岳
    @李东岳
    老师,这是pisoFoam里的速度方程

        fvm::ddt(U) + fvm::div(phi , U)
    +  MRF.DDt(U)
    +  turbulence->divDevSigma(U)
    ==
        fvModels.source(U)
    
    solve(UEqn == -fvc::grad(p))
    

    这是icoFoam里的速度方程

        fvm::ddt(U) 
    + fvm::div(phi , U)
    -  fvm::laplacian(nu , U)
    
    solve(UEqn == -fvc::grad(p))
    

    比较不难发现,pisoFoam里的速度方程多了MRF.DDt(U),turbulence->divDevSigma(U)
    和== fvModels.source(U),少了fvm::laplacian(nu , U)。

    MRF.DDt(U)是和旋转结构有关,在cavityRAS这个案例中用不到。

    1.

    turbulence->divDevSigma(U)应该是这个案例中用到的K-epsilon方程,这个方程的具体代码在哪个文件里可以看到呢?fvModels.source(U)就是fvm::laplacian(nu , U)吗?

    2.

    第一段代码中已经有==了,第二段代码又有一个==,从逻辑上讲,应该将fvModels.source(U)移到等号左边,再等于-fvc::grad(p),这是C++语法特点吗?

  • 登录

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