Skip to content
  • fluent进口如何实现固定水位边界条件

    Fluent
    2
    0 赞同
    2 帖子
    2k 浏览
    西湖冷月西

    背景介绍的不完整,没太看明白是什么问题。

  • (principle) Reynolds (shear) stress (tensor)

    Algorithm
    4
    0 赞同
    4 帖子
    6k 浏览
    李东岳

    $\tau$这个雷诺应力,对角线的是normal stress,非对角线的是shear stress。不过你说的更详细,感谢分享!

  • 关于‘温升燃烧效率’

    Algorithm
    1
    0 赞同
    1 帖子
    2k 浏览
    liujunCFDL

    请问燃料燃烧时这种‘理论计算产生的平均总温’应该怎么计算啊?翻了基本燃烧学的书都没这方面的定义。温升燃烧效率.png

  • 生成obj几何文件

    Meshy
    2
    0 赞同
    2 帖子
    3k 浏览
    L

    之前也困惑问过类似的问题,李老师说复杂的情况用ICEM 之后网格转换一下,这样确实是省时又省力哦。

  • fluent LES模型 自由充分发展

    Fluent
    2
    0 赞同
    2 帖子
    2k 浏览
    李东岳

    目前openfoam不支持这个。不太清楚fluent支不支持。持续保持关注。

  • Arbitrary-Lagrangian-Eulerian (ALE) 是什么?

    Algorithm
    3
    0 赞同
    3 帖子
    5k 浏览
    小狗狗

    参考文献
    Demirdzic, I.; Peric, M., Space conservation law in finite volume calculations of fluid flow.

  • 连CFD都开始搞地摊经济了?

    CFD彩虹条
    4
    0 赞同
    4 帖子
    6k 浏览
    李东岳

    Really? 那得谢谢王博士!

  • 0 赞同
    7 帖子
    13k 浏览
    M

    @bestucan 非常感谢老师的提醒,让网格变稀疏之后发现了两处可疑的质量较差的地方。尝试之后发现,有一些长方体网格划的太瘦了,ICEM的网格质量检查没有问题,修改之后OpenFOAM中就也没有问题了。:huahua:

  • 商业软件~开源软件

    CFD彩虹条
    3
    0 赞同
    3 帖子
    4k 浏览
    Z

    @bestucan 谢谢大神的解答,受教了

  • 0 赞同
    8 帖子
    10k 浏览
    C

    @东岳 感谢李老师!

  • 执行Mach出现not implement的错误

    OpenFOAM
    1
    0 赞同
    1 帖子
    3k 浏览
    A

    在后处理求解马赫数的时候,用Mach执行,但出现如下的错误:

    Time = 0.00056 Selecting thermodynamics package { type hePsiThermo; mixture pureMixture; transport sutherland; thermo eConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } --> FOAM FATAL ERROR: Not Implemented Trying to construct an genericFvPatchField on patch boundaryInner of field e From function genericFvPatchField<Type>::genericFvPatchField(const fvPatch& p, const DimensionedField<Type, volMesh>& iF) in file genericFvPatchField/genericFvPatchField.C at line 44. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" #1 Foam::error::abort() in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" #2 Foam::fvPatchField<double>::addpatchConstructorToTable<Foam::genericFvPatchField<double> >::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libgenericPatchFields.so" #3 Foam::fvPatchField<double>::New(Foam::word const&, Foam::word const&, Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/bin/Mach" #4 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::GeometricBoundaryField(Foam::fvBoundaryMesh const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::List<Foam::word> const&, Foam::List<Foam::word> const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" #5 Foam::heThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::heThermo(Foam::fvMesh const&, Foam::word const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" #6 Foam::fluidThermo::addfvMeshConstructorToTable<Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > > >::New(Foam::fvMesh const&, Foam::word const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" #7 Foam::fluidThermo::New(Foam::fvMesh const&, Foam::word const&) in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/lib/libfluidThermophysicalModels.so" #8 ? in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/bin/Mach" #9 ? in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/bin/Mach" #10 ? in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/bin/Mach" #11 __libc_start_main in "/lib64/libc.so.6" #12 ? in "/WORK/app/OpenFOAM/OpenFOAM-2.4.0/platforms/linux64IccDPOpt/bin/Mach" Aborted (core dumped)

    这种情况我之前是没有遇到过的,于是检查了一下Mach.C的源码:

    #include "calc.H" #include "fluidThermo.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh) { bool writeResults = !args.optionFound("noWrite"); IOobject Uheader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ ); IOobject Theader ( "T", runTime.timeName(), mesh, IOobject::MUST_READ ); // Check U and T exists if (Uheader.headerOk() && Theader.headerOk()) { autoPtr<volScalarField> MachPtr; volVectorField U(Uheader, mesh); if ( IOobject ( "thermophysicalProperties", runTime.constant(), mesh ).headerOk() ) { // thermophysical Mach autoPtr<fluidThermo> thermo ( fluidThermo::New(mesh) ); volScalarField Cp(thermo->Cp()); volScalarField Cv(thermo->Cv()); MachPtr.set ( new volScalarField ( IOobject ( "Ma", runTime.timeName(), mesh ), mag(U)/(sqrt((Cp/Cv)*(Cp - Cv)*thermo->T())) ) ); } else { // thermodynamic Mach IOdictionary thermoProps ( IOobject ( "thermodynamicProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); dimensionedScalar R(thermoProps.lookup("R")); dimensionedScalar Cv(thermoProps.lookup("Cv")); volScalarField T(Theader, mesh); MachPtr.set ( new volScalarField ( IOobject ( "Ma", runTime.timeName(), mesh ), mag(U)/(sqrt(((Cv + R)/Cv)*R*T)) ) ); } Info<< "Mach max : " << max(MachPtr()).value() << endl; if (writeResults) { MachPtr().write(); } } else { Info<< " Missing U or T" << endl; } Info<< "\nEnd\n" << endl; }

    代码中只要有U,T 和热力学模型就好了,不知道为什么错误提示要构造e这个场?谢谢各位!

  • RANS SA和SA-DES的区别对于FSI

    Algorithm
    2
    0 赞同
    2 帖子
    3k 浏览
    S

    SA是Spalart-Allmaras,Reynolds-Averaged Navier-Stokes Spalart-Allmaras turbulence和Spalart-Allmaras Detached Eddy
    Spalart-Allmaras采用的是标准的SA,不是高雷诺数的。DES也是标准的DES模型

  • CFD青年成长支持计划(2022)

    公告
    87
    0 赞同
    87 帖子
    216k 浏览

    我是南京航空航天大学航空学院2022级硕士研究生吴祥清,跟随张老师链接文本从事CFD研究,本人的主要研究方向为高速出入水,初步学习商软入门CFD现在准备编程写算法。查找学习资料了解到CFD中文网以及老师,所以想申请2022CFD青年成长支持计划,我目前正在使用LS-DYNA软件进行垂直破冰仿真,开始着手发相关论文。在本科期间接触流体力学便想深入了解这个专业,也申请了这个方向的研究生,如果论文写作顺利,便会在研究生二年级申请硕博连读,为国家军事建设贡献自己的一份力量。目前在上课之余也开始着手C++入门。但是CFD学习之路道阻且长,希望可以得到老师资助来更好的学习CFD。

  • 0 赞同
    2 帖子
    3k 浏览
    bestucanB

    得看人是不是明白人。明白一口口饭都是从哪来的,明白jio底下站的地为什么这么结实,明白前方的路为什么这么清晰。

    碰上明白人,给高了会用富裕的资源提升自己(给多少钱干多少活,否则钱拿不稳);给低了也不担心,毕竟瞎还能活着的概率不是很大,找个不瞎没有特别的困难。

    依靠某个人、某个环境下对自己的态度、待遇来判断自己的价值。这显然不是个明白人……给高了骄傲,给低了还怨恨呢。不能自知,怎么都是一件很危险的事情。有核心能力的也有不明白事的:仰天大笑出门去,归来依杖自叹息:136:

    而能碰上多少明白人又取决于所在行业对社会精英的吸引能力和自己在行业的层次。总之不努力就整天和糊涂蛋扯吧……:135:

    还有这种组织心态,把员工当小孩、追胡萝卜的驴子(有些事情你不需要知道,我在掌着。我要塑造你的认知、影响你的判断)。当然在这个繁复多样的世界,这种方式无法完全避免。但是显然有更好的方式,只是对组织中的每个人要求比较高。

  • icem帮助文档

    Meshy
    6
    0 赞同
    6 帖子
    9k 浏览
    K

    @cfd_fly 您好,,有时间可以再分享一下嘛?非常感谢

  • 0 赞同
    2 帖子
    4k 浏览
    H

    只要原来的网格点都在就没问题

  • 前辈们俺有一个关于ICEM得问题

    Meshy
    3
    0 赞同
    3 帖子
    5k 浏览
    liujunCFDL

    @bestucan :mihu: 确实是直接删除block就行,俺发现好多操作都跟人家一样。得到得结果却不一样,可能因为我用的不是正版

  • 判断计算收敛是否正常

    Fluent
    3
    0 赞同
    3 帖子
    3k 浏览
    A

    好的师兄我再去试试,之前用的是simple算法,然后今天上午试了一下simplec残差曲线又没出现振荡了,我把残差监视调一调再试试。

  • 聚并破碎的SQMOM方法

    Algorithm
    1
    0 赞同
    1 帖子
    2k 浏览
    李东岳

    对于给定的NDF,划分为$i$个$N_{pp}$,对每个$i$上定义$k$阶矩$m_k^i$,给定$m_k^i$,可以计算第$i$区间的节点$d^i_0,d^i_1$以及权重$w^i_0,w^i_1$:
    \begin{equation}
    \begin{split}
    w^i_0&=w^i_1=0.5
    \\
    d^i_0&=m_1^i-\frac{1}{\sqrt{3}}\sqrt{\frac{m_3^i}{m_1^i}-{m_1^i}^2}
    \\
    d^i_1&=m_1^i+\frac{1}{\sqrt{3}}\sqrt{\frac{m_3^i}{m_1^i}-{m_1^i}^2}
    \end{split}
    \end{equation}
    对于仅考虑破碎的PBE:
    \begin{equation}\label{pbe}
    \frac{\p n(d)}{\p t}=\int_d^{d_{max}}g(d')\beta(d|d')n(d')\rd d'-g(d)n(d)
    \end{equation}
    对方程\eqref{pbe}在$i$上取$k$阶矩:
    \begin{equation}\label{m}
    \frac{\p m_k^i}{\p t}=\int_{d_{i-1/2}}^{d_{i+1/2}}\int_d^{d_{max}}g(d')d^k\beta(d|d')n(d')\rd d'\rd d-\sum^2_{j=0} g(d_j^i)w_j^i(d_j^i)^k
    \end{equation}
    \begin{equation}
    \begin{split}
    \int_{d_{i-1/2}}^{d_{i+1/2}}\int_d^{d_{max}}g(d')\beta(d|d')n(d')\rd d'\rd d&=
    \int_{d_{i-1/2}}^{d_{max}}g(d')n(d')\left(\int_{d_{i-1/2}}^{d'}\beta(d|d')\rd d\right)\rd d'
    \\&=
    \sum_{m=i}^{N}\sum_{j=0}^2g(d_j^m)w_j^m\left(\int_{d_{i-1/2}}^{d_j^m}d^k\beta(d|d_j^m)\rd d\right)
    \end{split}
    \end{equation}
    Therefore
    \begin{equation}
    \frac{\p m_k^i}{\p t}=\sum_{m=i}^{N}\sum_{j=0}^2g(d_j^m)w_j^m\left(\int_{d_{i-1/2}}^{d_j^m}d^k\beta(d|d_j^m)\rd d\right)-\sum^2_{j=0} g(d_j^i)w_j^i(d_j^i)^k
    \end{equation}

  • icem更改鼠标中键?

    Meshy
    4
    0 赞同
    4 帖子
    6k 浏览
    liujunCFDL

    @Leon-Zhao 感谢大兄弟