OpenFOAM

4.5k 主题 26.5k 帖子
  • 有谁有用ununifrom给出过inlet的流速?

    2 帖子
    2k 浏览

    @搬运工不好当 每个边界都要赋值,格式大概是
    nonuniform List<scalar>
    xxx
    (
    aaa
    bbb
    ccc
    .....
    );
    xxx 要等于边界面元的数目,括号里的数字的个数要等于xxx。

  • foamToVTK 有什么作用

    已移动
    4 帖子
    4k 浏览

    另一个用法是vtk可以存储部分数据,而不是整个的场。大型算丽非常有效。

    另外有些paravirw的后处理需要vtk做源source.

  • 2 帖子
    2k 浏览

    @dyj19901127 hi.

    我觉得一个好的习惯就是禁止复制构造函数。除非你每个类都写,但一般也用不到。henry应该是采取不写的做法吧。

    这个在c++ primer plus 和effictive c加加里面提到过。书并不在手边你可以看看那个类里面存在指针的时候,复制构造函数怎么泄露的。我更觉得这是个和编程有关的问题和cfd关系不大?

  • 下面这个错误怎么处理?有图。

    2 帖子
    1k 浏览

    @搬运工不好当 你先wclean一下试试:)

  • snappyhexmesh生成的网格质量不好

    2 帖子
    2k 浏览

    @搬运工不好当 shm生成的网格有的时候非常的tricky,不错如果你采用shm成功的生成了mesh okay的网格,openfoam大部分求解器都能算收敛。of里面单相求解器已经非常稳健了。

    如果对于现有几何,一定要生成一个非常好的网格,我建议你

    简化几何 换专业的网格生成程序 慢慢的,充分的调节shm里面的网格控制参数,主要是网格密度,迭代次数,甚至删除边界层,这个步骤需要很长时间。

    话说回来,shm对于复杂几何生成的是混合网格。虽然单相求解器对混合网格非常稳健,但某些多相求解器还算不了。

  • 什么是湍流粘度的边界值?

    4 帖子
    3k 浏览

    @hongfu2233 不,湍流粘度并不是一个直接求解的量。并没有湍流粘度的方程,因此不需要初始值。

  • 关于twoPhaseEulerFoam的问题 ?

    26 帖子
    20k 浏览

    @liliang2009223 我都那个丸不是很了解。这俩个互溶么?液体

  • compressibleTwoPhaseMixture库编写问题

    20 帖子
    12k 浏览

    @mark dgdt分析已经上传

  • 有关of的壁面法向导数的精度。

    1 帖子
    1k 浏览

    对于第一类边界条件,OF里面壁面法向导数只有一介精度吧?

    Foam::tmp<Foam::Field<Type> > Foam::fvPatchField<Type>::snGrad() const { return (*this - patchInternalField())*patch_.deltaCoeffs(); }

    请问有没有二阶精度的sngrad?

  • hooke/stiffness model怎么使用

    已移动
    1 帖子
    2k 浏览

    请教一下,hooke/stiffness model怎么使用,有成功的吗?能否分享下。

  • OpenFoam划分高速列车流体网格

    2 帖子
    2k 浏览

    @搬运工不好当 说:

    在某文献里看到用OpenFoam划分高速列车流体网格,六面体

    目前OpenFOAM处理这种非常简单,snappyHexMesh是一种自动网格划分的生成器。特别擅长画复杂几何。不过从个人经验来看:

    你不需要过分追求细节; OpenFOAM不是纯六面体网格;

    因此要是发文章我更倾向与使用ICEM

  • snappyhexmesh只能把stl文件弄到边界处吗?

    1 帖子
    1k 浏览

    能不能在水槽内部形成一个固体边界?不紧挨着边界处

  • 请问thirdparty对于OpenFOAM来说有什么用?

    2 帖子
    2k 浏览

    If you dig deeper, 你会发现ThirdParty里面不是OpenFOAM基金会开发的。例如:paraFoam是paraview的插件,paraview属于Kitware,scotch属于法国的一个...看这里:链接文本。所以称作第三方包。

  • 5 帖子
    4k 浏览

    你是指的取断面为边界入口吗?这样的话可以采用timeVaryingMappedFixedValue;

  • 库郎数对结果影响大么

    5 帖子
    4k 浏览

    @搬运工不好当 说:

    得到一个特定时间步结果

    不得不说如果调整了时间格式为何还要期望获得一样的数据结果?不能期望每一个格式获得同样的数据。

  • OpenFOAM下面这个错误什么意思?

    2 帖子
    2k 浏览

    Hi,

    这里我并没有发现错误?

  • interFoam和DPMFoam耦合

    6 帖子
    4k 浏览

    Hi,

    你的twoPhaseProperties没有定义,如果你是在interFoam中调用mu,在interFoam的createFields.H中已经定义了:

    Info<< "Reading transportProperties\n" << endl; incompressibleTwoPhaseMixture twoPhaseProperties(U, phi);

    所以可以这样写:

    volScalarField& muc(twoPhaseProperties.mu());

    试一下。我没有测试,有问题再联系。

  • 2 帖子
    2k 浏览

    @mark Hi mark,

    错误提示,缺少twoPhaseMixtureThermo.H文件。可以看看这个文件有没有在你的Make/options中包含

  • 2 帖子
    2k 浏览

    Hi,

    我曾经调用过Fortran库来计算矩阵特征值,不过后来我采用Alberto的库而不用Fortran了。在OpenFOAM里面调用Fortran混编需要安装gfortran,可以在终端下通过:

    sudo apt-get install gfortran

    来安装。安装后下载你所需要的Fortran源代码(目前我还不会写fortran,我用的是现成的包),里面通过makeFile来制定规则,在终端通过make编译就可以。编译出来的是.so文件。OpenFOAM可以直接调用。

    也可以在./Allwmake里面把make写为脚本。

  • LES计算如何添加绕动

    2 帖子
    3k 浏览

    使用入口边界条件,turbulentInlet。
    或者延长入口使用,maped,类似于前面加一个自循环的pipe效果。
    或者使用,timeVaryingMapped,提供入口出的数据。

  • ssh能够用图形界面吗?

    2 帖子
    2k 浏览

    很早之前用过ssh client之类的东西,可以利用图形界面进行登录,文件拷贝之类的东西,不过运行程序还是需要命令行。

    不过还是使用ssh命令行靠谱啊,时间长了效率会比图形界面高的。

  • 气固两相流是否需要考虑气相压缩性?

    已移动
    2 帖子
    3k 浏览

    这个倒是一个问题,因为最近做到了流化床的燃烧,那么里面肯定是可压缩的,因为燃烧放热,密度变化等,气体为可压缩的。CFDEM在2.9.0好像是可以支持压缩的,但是感觉:流速比较低,处于低马赫数,气体压缩效应并不明显,所以我看绝大多数的冷态CFD-DEM计算都用不可压缩的。我们这里有做高马赫数(激波)等,这时候应该要考虑可压缩性了。

  • 怎么人工分割网格区域?

    2 帖子
    2k 浏览

    Hi,

    你可以试试scotch方法,从他的介绍来说是自动的处理网格疏密问题。可以这样测试一下:分解之后用paraview看一下各个块怎么样。我一直用scotch分解,不过还没测试过。这几天有空我测试下。

  • compressibleInterFoam 压力方程有懂的吗?

    9 帖子
    7k 浏览

    @mark Hi,

    等我有空把文档写完,那个暂时一句俩句说不清楚。

  • dimensionSet 0 0 -10 0 0到底是什么东西

    2 帖子
    2k 浏览

    因为流体力学中常用的是前五个量纲,因此可以默认忽略最后两个量纲,详见openFoamUserManual_PFM第19页。

  • 谁研究过openfoam的加速计算问题

    2 帖子
    2k 浏览

    Hi,

    目前我知道的有在windows下面有使用GPU加速计算的,例如Symscape,还有这个:RapidCFD

    前几天看到在CUDA上求解矩阵的算法,感觉很有意思:CUDA。我的理解GPU计算就是在CUDA上用CUDA支持的语言编程来求解矩阵?

    暂时知道这么多

  • 求解中alpha大于1

    2 帖子
    2k 浏览

    Hi,

    采用MULES方法求解的相场不应该存在越界问题,不过守恒倒是有一些问题。能否详述一下?

    OpenFOAM里面相场越界这个问题已经是一个很重要的问题了。从OpenFOAM-1.4开始OpenCFD公司(目前已注销)就着手采用MULES来处理标量场的守恒问题,并逐步完善比如添加LTS功能等。

  • 有人用OpenFOAM算PMV么?

    2 帖子
    2k 浏览

    @搬运工不好当

    Hi,

    PMV目前在海尔科学研究院有一套标准,国际上也有一套ISO9000x的标准。在这个标准中,除了公式的值都需要自己设定。然后在PMV框架下迭代求解。可以google一下PMV ISO标准。

  • kEpsilon模型发散问题

    2 帖子
    2k 浏览

    Hi,

    请注意epsilon的不能赋值为0,因为在kEpsilon方程中的湍流粘度定义为:

    \begin{equation}
    \nu_t=C \frac{k^2}{\varepsilon}
    \end{equation}

    明显的如果epsilon为0,湍流粘度不可以计算。

  • 有关preditioner和smoother

    2 帖子
    2k 浏览

    Hi,

    我们用方程举例:加入你要求解矩阵:
    \begin{equation}
    A \phi = b
    \end{equation}
    直接解法是不能用了大家都知道。一般采用迭代解法。在迭代解法中,如果对矩阵操作一下:
    \begin{equation}
    A = M-N
    \end{equation}
    替换到公式(1)中,就是
    \begin{equation}
    \phi^n = M^{-1} N \phi^{n-1} + M^{-1}b
    \end{equation}
    这种操作就是预条件,依据不同的M,有不同的预条件方法。OpenFOAM里面采用不完全LU分解。

    smoother更倾向是多重网格矩阵求解器的内容,如图:
    0_1458467715003_捕获.JPG
    多重网格这块暂时还没涉及,以后有涉及随时补充。

    推荐看这本书:Numerical Computation of Internal and External Flows - Volume I - Fundamentals of Numerical Discretization

  • 有关并行计算求解速度

    2 帖子
    2k 浏览

    Hi,

    这个问题很简单,举例:

    1核计算需要24小时;

    2核计算需要12小时;

    4核计算需要6小时;

    8核计算需要4小时;

    16核计算需要3小时;

    32核机选需要2小时;

    64核计算需要1.5小时;

    很明显,核多了会减小计算时间,但是在超过某个限制之后,就不会是线性的。并且,并行计算和CPU的通信关系很大,有些玩家自己组建的通过网卡连接的工作站,一个千兆网卡是必须的。

  • OpenFOAM安装方式那个好点?

    2 帖子
    2k 浏览

    你好,

    这个其实区别不大,最简单的当然是deb安装。但是由于网络的问题国内经常安装不上。有关安装,我写了个非常详细的说明请参考:OpenFOAM安装说明

  • twophaseEulerFoam 可以追踪颗粒么?

    2 帖子
    2k 浏览

    Yes,

    不过需要你自己定义拉格朗日求解器。目前twoPhaseeulerfoam是欧拉方法下的双欧拉模型。如果需要添加一个无质量对流体流动无影响的颗粒,仅仅做一个颗粒跟踪。有俩种方法:

    简单的捆绑dpmFoam中的拉格朗日粒子,我之前在pisoFoam中实现过这个,

    通过paraFoam后处理来进行,这个在cfd-online有人讨论过,我当时也尝试实现不过没成功,目前还不确定到底paraview能不能实现这个方法。

  • 有关OpenFOAM中的类如何添加参数?

    3 帖子
    2k 浏览

    解决了,低级错误,H文件里的申明没有改,改到别的文件里去了,当然不成功。把c文件和h文件里都改了之后,编译没有问题的。

    多谢!

  • openfoam用到多少c++

    2 帖子
    2k 浏览

    你好,

    这个问题OpenFOAM创始人Henry已经有过详细的阐述了:

    Henry:了解流体机理和计算流体力学更加重要。大多数CFD工程师并不需要经常编程,因为CFD代码已经非常成熟了,并且包含了非常多的功能。但是对于一个CFD工程师而言,很有必要了解到底什么是“物理”,什么是“边界条件”。这些都和流体动力学有关,而和编程关系不大。

    很好地了解CFD的概念在选择合适的数值方法、离散格式、时间步、松弛因子的时候非常有必要。这通常可以通过培训来达到目的,因为本质上其主要通过积累的经验来获得。

    使用CFD就像玩乐器,你不能捡起一把小提琴就弹“维尔瓦底”的曲子(CFD界注:著名小提琴演奏家),这需要很长的练习。

    然而,相对于GUI的点击型操作,OpenFOAM中CFD算例的自动运行VERY有用,因此如果会写脚本的话就更好了。脚本语言不重要,大家可以使用随便一个脚本语言,只要你熟悉就好。

    个人认为,依赖于你所需要的功能,如果只是企业级别的计算,不需要多少C++只是。如果是硕士进行简单的开发,C++熟悉相关的语法规则就好。对于博士如果需要写自己的算法,可能对面向对象编程需要有一定的认识

  • 2 帖子
    2k 浏览

    你好,

    看上文中的:

    <<Writing ... non-orthogonal faces to set nonOrthoFaces

    非矩形面和skewness面一般问题都不大,比价的话skewness不好的网格问题比非矩形网格更加严重。OpenFOAM里面已经把非矩形面的恭喜添加进去了,可以添加非矩形修正来处理。因此这是一个警告,不需要过多处理。有时候非矩形面试必须的。不可能避免。

    当然你看到了他显示Mesh OK~