Skip to content
  • 0 赞同
    2 帖子
    2k 浏览
    C

    给大家分享一下当采用自定义的求解器对波浪进行数值仿真的时候采用wave2Foam waveGaugeProbes对波高进行监测
    当前对波高进行监测主要有wave2Foam中的waveGaugeProbes,IHFoam和olaFlow都有自己的波高监测仪,OpenFOAM中也有interfaceHeight函数对波高进行监测。
    但是有一个问题是,当采用interfaceHeight对alpha.water进行监测的时候,会导致OpenFOAM运行速度慢,而采用自定义的求解器对波高进行监测的时候,那只能采用sampleDict对alpha.water进行监测,这样的结果是在postProcessing会生成一系列的时间文件,需要采用其他方法对这一些列的时间文件中的波高重新提取,也是很不方便。
    因此我这边就是结合wave2Foam中的waveGaugeProbes和interFoam,这样在interFOAM求解器运行的时候,可以采用wave2Foam中的波高仪进行监测,这样的效率会得到很大的提高。

    wave2foam waveGuages.png
    1.把interFoam求解器拷贝到wave2Foam路径的waves2Foam/applications/solvers/solvers2206_PLUS(当然这个求解器solvers2206_PLUS对应的是OpenFOAM相应的版本)
    2.在interFoam文件夹中修改Make/files中修改EXE = $(FOAM_USER_APPBIN)/DinterFoam,使得编译后的程序在platforms中
    3.在这个拷贝的interFoam文件夹中的Make/Options中添加如上图所示2和3步的关于wave2foam的代码
    4.对wave2Foam进行编译就行
    使用方法
    1.在constant文件中添加probeDefinitions文件,这个文件是在wave2Foam中就有的,主要是用来设置波高仪
    2.采用wave2foam的命令waveGaugesNProbes,就可以生成waveGaugesNProbes文件
    3.在controlDict中添加waveGaugesNProbes文件中的 自定义波高仪名称_controlDict
    4.OKOK
    完美实现
    地下这个是放在github的文件,和上面也是一模一样
    https://github.com/byChen47/waveHeightGauge

  • OpenFOAM 长波辐射模拟

    OpenFOAM
    1
    0 赞同
    1 帖子
    945 浏览
    S

    想请教一下大家openfoam中有涉及长波辐射模拟吗,如何实现呢?

  • blockMesh楔形体网格划分

    OpenFOAM
    5
    0 赞同
    5 帖子
    4k 浏览
    J

    @李东岳 ```
    /--------------------------------- C++ -----------------------------------\

    \ / F ield OpenFOAM: The Open Source CFD Toolbox \ / O peration Website: https://openfoam.org \ / A nd Version: 10 \/ M anipulation

    *---------------------------------------------------------------------------*/
    FoamFile
    {
    format ascii;
    class dictionary;
    object extrudeProperties;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

    constructFrom patch;
    sourceCase "$FOAM_CASE";

    sourcePatches (front);
    exposedPatchName back;

    extrudeModel wedge;

    sectorCoeffs
    {
    axisPt (0 0 0);
    axis (0 -1 0);
    angle 5;
    }

    flipNormals false;
    mergeFaces false;

    // ************************************************************************* //

    老师,这是我的extrudeMeshDict文件,我用这个文件进行拉伸,它提示我的wedge不是一个平面,为什么会这样呢?

    /--------------------------------- C++ -----------------------------------\

    \ / F ield OpenFOAM: The Open Source CFD Toolbox \ / O peration Website: https://openfoam.org \ / A nd Version: 10 \/ M anipulation

    *---------------------------------------------------------------------------*/
    FoamFile
    {
    format ascii;
    class dictionary;
    object blockMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

    convertToMeters 0.001;

    vertices
    (
    (0 0 0)//0
    (7 0 0)//1
    (10 0 0)//2
    (1010 0 0)//3
    (2010 0 0)//4

    (0 5 0)//5 (5 5 0)//6 (10 5 0)//7 (1010 5 0)//8 (2010 5 0)//9 (0 40 0)//10 (7 40 0)//11 (10 40 0)//12 (1010 40 0)//13 (2010 40 0)//14 (0 1640 0)//15 (7 1640 0)//16 (10 1640 0)//17 (0 0 10)//0 (7 0 10)//1 (10 0 10)//2 (1010 0 10)//3 (2010 0 10)//4 (0 5 10)//5 (7 5 10)//6 (10 5 10)//7 (1010 5 10)//8 (2010 5 10)//9 (0 40 10)//10 (7 40 10)//11 (10 40 10)//12 (1010 40 10)//13 (2010 40 10)//14 (0 1640 10)//15 (7 1640 10)//16 (10 1640 10)//17

    );

    blocks
    (
    hex (0 1 6 5 18 19 24 23) (20 50 1) simpleGrading (1 ((1 1 50)(0 0 0)) 1)//1

    hex (1 2 7 6 19 20 25 24) (30 50 1) simpleGrading (((1 1 0.05)(0 0 0)) ((1 1 50)(0 0 0)) 1)//2 hex (2 3 8 7 20 21 26 25) (300 50 1) simpleGrading (((1 1 1500)(0 0 0)) ((1 1 50)(0 0 0)) 1)//3 hex (3 4 9 8 21 22 27 26) (40 50 1) simpleGrading (1 ((1 1 50)(0 0 0)) 1)//4 hex (5 6 11 10 23 24 29 28) (20 100 1) simpleGrading (1 1 1)//5 hex (6 7 12 11 24 25 30 29) (30 100 1) simpleGrading (((1 1 0.05)(0 0 0)) 1 1)//6 hex (7 8 13 12 25 26 31 30) (300 100 1) simpleGrading (((1 1 1500)(0 0 0)) 1 1)//7 hex (8 9 14 13 26 27 32 31) (40 100 1) simpleGrading (1 1 1)//8 hex (10 11 16 15 28 29 34 33) (20 400 1) simpleGrading (1 ((1 1 50)(0 0 0)) 1)//9 hex (11 12 17 16 29 30 35 34) (30 400 1) simpleGrading (((1 1 0.05)(0 0 0)) ((1 1 50)(0 0 0)) 1)//10

    );

    boundary
    (
    inlet
    {
    type patch;
    faces
    (
    (15 33 34 16)
    (16 34 35 17)
    );
    }

    outlet { type patch; faces ( (4 9 27 22) (9 14 32 27) ); } upper { type symmetry; faces ( (12 30 31 13) (13 31 32 14) ); } axis { type symmetry; faces ( (0 18 23 5) (5 23 28 10) (10 28 33 15) ); } bottom { type wall; faces ( (0 1 19 18) (1 2 20 19) (2 3 21 20) (3 4 22 21) ); } wall { type wall; faces ( (12 17 35 30) ); } back { type symmetry; faces ( (0 5 6 1) (1 6 7 2) (2 7 8 3) (3 8 9 4) (5 10 11 6) (6 11 12 7) (7 12 13 8) (8 13 14 9) (10 15 16 11) (11 16 17 12) ); } front { type symmetry; faces ( (18 19 24 23) (19 20 25 24) (20 21 26 25) (21 22 27 26) (23 24 29 28) (24 25 30 29) (25 26 31 30) (26 27 32 31) (28 29 34 33) (29 30 35 34) ); }

    );

    // ************************************************************************* //

    这是我的blockMesh文件,根据你之前的提示,我看那个算例里面是先定义了一个矩形出来,然后进行拉伸的,想仿照人家的来做
  • Laplace测试,对表面张力模型进行测试

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

    @guanghuilineu 请问最后解决这个问题吗?你这个液滴是三维的吧?我最近也在测试VOF计算表面张力的效果,误差也不小,但没你这么大

  • 现在发帖可以编辑了

    CFD彩虹条
    2
    0 赞同
    2 帖子
    2k 浏览

    测试编辑

  • 如何加速压力求解器收敛

    OpenFOAM
    6
    0 赞同
    6 帖子
    5k 浏览
    学流体的小明

    😅我自己写的程序必须是simple的分解,scotch都不能用,更不用说metis了

  • fluent空气龄

    Fluent
    2
    0 赞同
    2 帖子
    4k 浏览
    I

    空气龄这个概念在通风领域应用比较广泛,我对此不大了解,但觉得这个物理概念上和停留时间相似。
    因此扩散系数本质上于空气或者示踪气体扩散系数相似。
    相关理论可以参考一下 https://age-of-air.forumotion.com/

    openfoam 里面的空气龄有个类似的solver, 可以参考一下 (19楼)
    https://www.cfd-online.com/Forums/openfoam-post-processing/68300-mean-age-air.html

  • of软件搭配

    CFD彩虹条
    2
    0 赞同
    2 帖子
    3k 浏览
    J

    想问下,有人做过这些网格划分和几何建模工具的对比吗?也想了解了解

  • 0 赞同
    3 帖子
    3k 浏览
    李东岳

    @Samuel-Tu 会的

  • turbinesFoam致动线模型

    OpenFOAM
    3
    0 赞同
    3 帖子
    3k 浏览
    S

    @李东岳 李老师你好,这有论文的,这个是作者写的
    Bachant, P., Goude, A., and Wosnik, M. (2016) Actuator line modeling of vertical-axis turbines. arXiv preprint 1605.01449.

  • 0 赞同
    1 帖子
    2k 浏览

    在方柱计算中,对升力系数进行FFT分析,取样数据点在10000左右,得到如下结果,主频与实验较为吻合,在高频处出现谐振,是由于方柱前缘分离剪切层中K-H不稳定性导致的升力系数高频振荡吗?谐振又是怎么产生的呢?
    诚心向各位前辈请教,求指导!
    FFT Power.jpg

  • 0 赞同
    4 帖子
    4k 浏览

    @cccrrryyy 谢谢老师

  • 变量未初始化问题

    OpenFOAM
    1
    0 赞同
    1 帖子
    1k 浏览
    T

    在lagrangian/intermediate/submodels/Kinematic/ParticleForces路径下添加了一个电场力模型,编译通过,case计算时报错,似乎跟q和E变量未初始化有关,代码小白,求指点。

    563ac197-796b-4021-a867-d6ecd3a34007-image.png
    648c605a-93af-4ff6-9178-8242e48f84bd-image.png

    // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class CloudType> Foam::ElectricfieldForce<CloudType>::ElectricfieldForce ( CloudType& owner, const fvMesh& mesh, const dictionary& dict, const word& forceType, const volScalarField& qField ) : ParticleForce<CloudType>(owner, mesh, dict, forceType, true), EName_(this->coeffs().template lookupOrDefault<word>("E", "E")), EInterpPtr_(NULL), qField_(qField) { Info<< "-----p in ELe\n" << endl; qInterpPtr_.reset ( interpolation<scalar>::New ( owner.solution().interpolationSchemes(), qField ).ptr() ); Info<< "-----p2 in ELe\n" << endl; } template<class CloudType> Foam::ElectricfieldForce<CloudType>::ElectricfieldForce ( const ElectricfieldForce& etf ) : ParticleForce<CloudType>(etf), EName_(etf.EName_), EInterpPtr_(NULL), qField_(etf.qField_) {}
  • 0 赞同
    3 帖子
    3k 浏览
    J

    非常感谢您的回复与帮助,我尝试一下。

  • 包含传热传质的两流体算法

    Algorithm
    9
    0 赞同
    9 帖子
    10k 浏览
    李东岳

    是的。

    openfoam这面PU的求解框架大体一样。

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

    很多湍流模型的假定就是各向同性,这样模化起来、封闭起来比较简单。各向异性那种,就得上雷诺应力模型了,明显要复杂

  • mathjax 自适应

    CFD彩虹条
    1
    0 赞同
    1 帖子
    2k 浏览
    李东岳

    https://codepen.io/pkra/pen/EPeKjo

  • CFD后处理

    Algorithm
    3
    0 赞同
    3 帖子
    5k 浏览
    U

    @李东岳 谢谢李老师的回答。

  • 0 赞同
    5 帖子
    7k 浏览
    T

    @东岳 谢谢大佬~

  • 0 赞同
    1 帖子
    3k 浏览
    Cp_ZhaoC

    这几天在看有限体积法的书,大佬的论文、《数值传热学》和 《The FVM inCFD OpenFOAM..Matlab》都看了,逛论坛发现都在推荐《Computational Methods for Fluid Dynamics》这本;去SpringerLink一搜正好今年出了新版,网上资源好像还不多,在这里分享一下: 点击下载