• 0 赞同
    1 帖子
    1 浏览

    如题,在我使用snappyhexmesh生成复杂地形网格时,当网格点很多时,会出现两个底面,也就是blockmesh中的面无法被地形面替换,尝试修改了最大网格数这个参数,但是没有效果。
    如果有研究过地形网格问题的老师,能不能帮忙看下应该修改什么参数?
    如图,存在两个底面:
    cdf94b51-57e1-4ceb-a0a8-136ac9d72263-image.png
    理想情况下,应该如下图所示:
    aa31c135-93ca-4e44-9dec-5b119f16eb85-image.png

    以下是我的snappyhexmesh:
    snappyHexMeshDict
    以及blockMesh:blockMeshDict

  • 边界条件tableFile读取错误问题

    OpenFOAM
    0 赞同
    8 帖子
    3k 浏览

    @Hope 楼主有没有ESDU的document呀,风剖速度和湍流强度以及风谱,没订阅,也搜索不到

  • overinterdymfoam的一些疑问

    OpenFOAM
    0 赞同
    1 帖子
    1 浏览

    请问一下有没有熟知overinterdymfoam中rigidbodyhull案例的朋友,这个案例运行后产生的alphawater和alphawater_0两者有什么不同,感谢!屏幕截图(108).png 屏幕截图(109).png

  • 0 赞同
    2 帖子
    18 浏览

    找到问题所在了:是划分网格时出现的问题,但是仍然解决不了
    如图:blockMeshDict设置相同范围(3000m3000m600m时),但是网格大小不同时(网格大小图一:100m,图二:60m),网格变小会导致划分失败(如图,地面仍然为平面,而不是stl文件)
    图一:
    image.png

    图二:底面变成真实地形

    image.png

  • 论坛最近是不是显示有问题

    C斯达克
    0 赞同
    5 帖子
    831 浏览

    李老师,我这边总是有显示不出来的破碎的东西,像是表情

  • toposet 得到的新边界怎么加边界层

    OpenFOAM
    0 赞同
    1 帖子
    8 浏览

    各位前辈好,请问我使用toposet创建的新的边界或者面之后,我应该怎么在这个边界或者说面上加上边界层呢,是不是相加边界层只能用snappyHexMesh

  • 0 赞同
    3 帖子
    53 浏览

    @学流体的小明 恩呢,谢谢您的回答。
    /--------------------------------- C++ -----------------------------------
    | ========= | |
    | \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
    | \ / O peration | Version: v2212 |
    | \ / A nd | Website: www.openfoam.com |
    | \/ M anipulation | |
    *---------------------------------------------------------------------------*/
    FoamFile
    {
    version 2.0;
    format ascii;
    class dictionary;
    location "constant";
    object dynamicMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

    dynamicFvMesh dynamicRefineFvMesh;

    // How often to refine
    refineInterval 1;

    // Field to be refinement on
    field alpha.water;

    // Refine field inbetween lower..upper
    lowerRefineLevel 0.001;
    upperRefineLevel 0.999;

    // If value < unrefineLevel unrefine
    unrefineLevel 1;

    // Have slower than 2:1 refinement
    nBufferLayers 6;

    // Refine cells only up to maxRefinement levels
    maxRefinement 1;

    // Stop refinement if maxCells reached
    maxCells 15000000;

    // Flux field and corresponding velocity field. Fluxes on changed
    // faces get recalculated by interpolating the velocity. Use 'none'
    // on surfaceScalarFields that do not need to be reinterpolated.
    correctFluxes
    (
    (phi none)
    (nHatf none)
    (rhoPhi none)
    (alphaPhi_ none)
    (ghf none)
    (phi0 none)
    (dVf_ none)
    (alphaPhi0.water none)
    (alphaPhiUn none)
    );

    // Write the refinement level as a volScalarField
    dumpLevel true;

    // ************************************************************************* //
    这是我的dynamicMeshDict文件。
    我按您说的方法去试一下。

  • 0 赞同
    1 帖子
    19 浏览

    0e082965-45f1-4999-9656-7f986d5e2d72-image.png

    全文来源:https://doi.org/10.1016/j.jweia.2017.10.003

    friction velocity都比较熟悉,是壁面处速度无量纲化的一个基本参数,和壁面的切应力相关。有了它,就有了速度沿壁面法向的分布,十分重要。这个量,实验可以测量,仿真的时候也比较好给。

    friction temperature我个人就不是很理解了,传热这块也没这个东西吧,搜了下也没搜到比较系统的解释。虽然看起来是照着摩擦速度构建的一个量,但物理意义是啥?实验可以测量么?

  • ICEM划分网格

    Meshy
    0 赞同
    9 帖子
    386 浏览

    真有用?

  • 0 赞同
    6 帖子
    149 浏览

    @Prometheus10
    我看了一下那个帖子,可能因为实现方法的差异,两种边界会有细微的差别,但应该不会这么大。

    你的其他边界是怎么设置的?symmetry不用特别设置,每一个变量都是sym就行。但是,slip你是具体怎么设置的?速度肯定是slip,其他边界是什么?如果搭配不合适的话,和sym不一致是很正常的事情。

    再一个,是不是因为雷诺数特别小,以致实现方法带来的微小区别被放大了?或者说,在低雷诺数下,实现方法带来的差异特别大?建议可以加点流速试试,看一下高流速下是不是还差这么多?

  • openFoam postProcess报错

    OpenFOAM
    0 赞同
    2 帖子
    40 浏览

    看起来好像你得OpenFOAM没编译完整

  • wsl2中安装ubuntu18.04后只有64个CPU分配

    OpenFOAM
    0 赞同
    1 帖子
    29 浏览

    wsl2中安装ubuntu18.04后只有64个CPU分配,按照教程新建并修改./wslconfigure文件后,关闭wsl并重启,仍然还是64个核,请问有人遇到到这种情况吗,谢谢!!!图片.png

  • 0 赞同
    7 帖子
    66 浏览

    @coolhhh
    大佬您好,我可能忘了介绍我的研究时段了,我研究的是较长时间的模拟,理想模拟时间应该是2-3天;模拟区域也比较大,大概为长宽高为6km6km600m。
    1、因为研究的时间较长,所以每个边界的风速肯定是变化的(风速输入用的是每个边界所设置的非均匀分布风塔的观测数据,每个面都有数个观测点,观测数据风速利用timeVaryingMappedFixedValue每隔十分钟输入)因为之前学习了windaroundbuildings这个算例(也是建筑扰流),所以设置求解器为simpleFoam,这个算例风速确实是时不变的,这一点没有考虑到,等换成瞬时求解器试试;
    2、目前还没有试过五个入流面,因为我也认为可能不太符合通量守恒,所以先设置了3个速度入口和2个出口,我先做一下大佬在4中提供的建议;
    3、LES模拟也考虑过,正在学习,等做完2中试验后尝试一下大佬提供的条件,就不用计算k和epsilon文件的设置了。

  • 0 赞同
    1 帖子
    27 浏览

    在ParaView 中用 Temporal Particles To Pathlines 追踪粒子轨迹,会出现多余的线条是怎么回事,求指导。

    abc25b9f-320d-4e32-8d77-4c45ac5ea775-image.png

  • 燃烧求解在AMR之后报错

    OpenFOAM
    0 赞同
    3 帖子
    36 浏览

    @李东岳 是的李老师,我也不太精通of。尤其是改为了模块化之后,没检查出来问题。

  • 0 赞同
    14 帖子
    200 浏览

    @coolhhh 我明白了,您不妨试试uniformFixedValue。另外dsmcFoam+的dsmcCloud.C中没有correctBoundaryConditions,我估计是包装在别的函数里了。

  • reactingFoam甲烷空气预混燃烧后处理

    OpenFOAM
    0 赞同
    1 帖子
    33 浏览

    各位老师,大佬们晚上好!openfoam小白最近做了一个关于甲烷空气预混燃烧的数值模拟,想请教一下应该怎么计算层流火焰的燃烧速度以及火焰厚度,另外reactingFoam似乎是一个不可压缩求解器,因此结果文件中并没有密度文件,也想问一下怎样将得到的物质的质量分数分布转换成摩尔浓度?是有相关的指令吗,还是得自己设置一个函数,以下是我速度的结果图:
    1.png
    红圈那块感觉不太合理?
    速度边界条件如下:
    3.png

  • 0 赞同
    5 帖子
    86 浏览

    东岳老师您说的对,我算的算例算了60s,不过水面还是不平。四面体永远不平,让他看起来平就行,哈哈哈求个毕业0.0

  • 0 赞同
    1 帖子
    19 浏览

    在进行模拟时,运行136s出现上述报错:Primary job terminated normally, but 1 process returned
    a non-zero exit code. Per user-direction, the job has been aborted.
    2024-03-15_21-17.png

    附上我的算例边界条件,是一个基于真实地形,使用codefixedVal函数实现非均匀边界条件的模拟。1.zip
    请哪位大神给点建议,谢谢

  • 泡沫的仿真

    Algorithm
    0 赞同
    15 帖子
    1k 浏览

    你模拟的是高粘度流体么?高粘度流体更难模拟了。

  • 0 赞同
    1 帖子
    27 浏览
  • chemkin中的therm.dat文件理解

    OpenFOAM
    0 赞同
    7 帖子
    103 浏览

    还有一个问题就是我在chemkin反应机理中添加了这个反应:
    1.png
    对于hv这个光子应该在哪里定义呀?我在chem.inp以及therm.date文件中没有定义光子,也不清楚如何定义,但是采用chemkinToFoam时显示了如下错误:
    屏幕截图 2024-03-15 190833.png
    hv改成大写以后就成了这样:
    1.png
    恳请各位老师,大佬解惑,感谢各位了!

  • divShemes离散格式的顺序问题

    OpenFOAM
    0 赞同
    6 帖子
    308 浏览

    :135: :135: :135:

  • 0 赞同
    56 帖子
    7k 浏览

    @Prometheus10 对 如果这样理解的话 为什么symmetry计算结果和理论解更相近呢

  • interfaceHeight 运行报错

    OpenFOAM
    0 赞同
    8 帖子
    236 浏览

    @tidedrinker @李东岳 找到原因了,是因为我输入命令的问题,我之前输入的是postProcess,应该用 interFoam -postProcess , 。。。。新手不太会

  • 0 赞同
    32 帖子
    1k 浏览

    @李东岳 李老师,最近在做实验,昨天又试验了一下,p场稳定了一些但是还在波动,但是U.air场变得混乱了,李老师有空可帮我看下吗,还有一个问题719e060c-5757-402d-b40a-0d978c2be0a7-tp_of10.zip
    b39e6d46-adc8-4f48-b766-281d3efcc0b7-image.png

    DPMFoam中的UcEqn.H:

    fvVectorMatrix UcEqn
    (
    fvm::ddt(alphac, Uc) + fvm::div(alphaPhic, Uc)

    fvm::Sp(fvc::ddt(alphac) + fvc::div(alphaPhic), Uc) continuousPhaseTurbulence->divDevRhoReff(Uc)
    ==
    (1.0/rhoc)*cloudSU
    );

    UcEqn.relax();

    volScalarField rAUc(1.0/UcEqn.A());
    surfaceScalarField rAUcf("Dp", fvc::interpolate(rAUc));

    surfaceScalarField phicForces
    (
    fvc::flux(rAUccloudVolSUSu/rhoc) + rAUcf(g & mesh.Sf())
    );

    if (pimple.momentumPredictor())
    {
    solve
    (
    UcEqn
    ==
    fvc::reconstruct
    (
    phicForces/rAUcf - fvc::snGrad(p)*mesh.magSf()
    )
    );
    }

    ///////还有就是这一项代表了什么意思呢////////
    surfaceScalarField phicForces
    (
    fvc::flux(rAUccloudVolSUSu/rhoc) + rAUcf(g & mesh.Sf())
    );

  • 0 赞同
    2 帖子
    65 浏览

    #include "udf.h"
    #include "unsteady.h"
    #include "profile.h"
    #include <stdio.h>
    #include <stdlib.h>

    #define MAX_POINTS 4000
    #define MAX_TIMESTEPS 997
    #define FILENAME "velocity_data.csv"

    typedef struct {
    double x, y, z;
    double u[MAX_TIMESTEPS];
    } PointData;

    void read_data(PointData* points) {
    FILE* file = fopen(FILENAME, "r");
    if (file == NULL) {
    printf("Error: Could not open file.\n");
    exit(1);
    }

    for (int i = 0; i < MAX_POINTS; i++) { fscanf(file, "%lf,%lf,%lf", &points[i].x, &points[i].y, &points[i].z); for (int j = 0; j < MAX_TIMESTEPS; j++) { fscanf(file, ",%lf", &points[i].u[j]); } } fclose(file);

    }

    DEFINE_PROFILE(unsteady_velocity, thread, position)
    {
    real x[ND_ND];
    real t = CURRENT_TIME;
    int time_step = N_TIME;
    PointData points[MAX_POINTS];
    face_t f;

    read_data(points); begin_f_loop(f, thread) { F_CENTROID(x, f, thread); for (int i = 0; i < MAX_POINTS; i++) { if (x[0] == points[i].x && x[1] == points[i].y && x[2] == points[i].z) { F_PROFILE(f, thread, position) = points[i].u[time_step]; break; } } } end_f_loop(f, thread)

    }

  • reactingFoam求解器修改化学反应机理

    OpenFOAM
    0 赞同
    3 帖子
    73 浏览

    @LiuWenchao 好嘞,我去看看,谢谢大佬!

  • 关于nut和mut的问题

    OpenFOAM
    0 赞同
    5 帖子
    106 浏览

    谢谢李老师,那我是不是直接用turbulence->nut()就可以获得混合湍流运动粘度了?我是看到createFields.H定义了这样的指针,对应找到他的 incompressible::turbulenceModel 类,就发现mut和nut是一样的,对于这种多相流的,它实际用的是哪个类,在哪里体现了密度的影响?对openFOAM不太了解,谢谢老师指点
    image.png

  • CFD与机器学习基本概念入门

    OpenFOAM
    0 赞同
    10 帖子
    480 浏览

    对于监督学习那一块,我拍脑袋想了这样一个步骤:

    给定一个网格,算N套CFD的不同速度进口的结果; 把这N套最终稳定的结果,比如volScalarField p,当做N套数据,每套数据在每个网格上是一个点 把这N套已知的数据赋值给torch,给定一个进口U,让libtorch搞出一套函数会预测最好的p 这个训练出来的函数就可以预测任意的U的流场结果

    这个流程应该看起来更细致一些

    强化学习我还没看,我打算先看一下监督学习,先把这个在OpenFOAM里面跑通看看

  • DPMFoam压力计算失稳

    OpenFOAM
    0 赞同
    8 帖子
    938 浏览

    您好,我在修改了入射条件后依然没有解决这个问题,不知道您有什么解决办法吗

  • OpenFOAM外挂libtorch

    OpenFOAM
    0 赞同
    2 帖子
    117 浏览
  • 0 赞同
    1 帖子
    53 浏览

    1710316733826.jpg

    使用滑移网格fluent报错:Note: zone-surface: cannot create surface from sliding interface zone.

  • 合集:OpenFOAM安装准备工作贴

    已固定 OpenFOAM
    0 赞同
    6 帖子
    14k 浏览

    @李东岳 老师你好!请问v2112还有吗?

  • 李新亮老师的OpenCFD中湍流粘性系数

    Algorithm
    0 赞同
    17 帖子
    12k 浏览

    我勒个去,好老的帖子,一晃8年过去了

  • CFD结果渲染

    Fluent
    0 赞同
    6 帖子
    423 浏览

    x3d
    用这个导出,导入到blender

  • LES定义入口速度的问题(DSRFG方法)

    OpenFOAM
    0 赞同
    82 帖子
    60k 浏览

    @xzdbjx 大佬,可以提供一下编译进Fluent里面的udf吗? CFD小白,自己写的总是报错:zoule:

  • fluent数据处理成二维数组

    Fluent
    0 赞同
    3 帖子
    672 浏览

    不知道当时的问题是否解决了,我去年做的一部分工作里面也需要相关的处理。当时采用的Matlab对导出的数据进行处理,不过在数据处理之前需要将 x,y当中一些极小的值变成0,比如10的负十几次方的值,因为这些fluent输出的值可能会对处理产生影响,然后导入程序就可以变成矩阵形式了,程序大概如下。供以后有需要的朋友们参考。

    data1 = xlsread('D:\User.....');

    % 获取X、Y坐标和密度值的向量
    X = data1(:, 1);
    Y = data1(:, 2);
    density = data1(:, 3);

    % 确定X和Y的唯一值,并按升序排列
    unique_x = unique(X);
    unique_y = unique(Y);

    % 创建行列编号映射表
    x_mapping = containers.Map(unique_x, 1:length(unique_x));
    y_mapping = containers.Map(unique_y, 1:length(unique_y));

    % 初始化矩阵
    num_rows = length(unique_y);
    num_cols = length(unique_x);
    densityMatrix1 = zeros(num_rows, num_cols);

    % 将密度值填充到矩阵中
    for i = 1:length(X)
    row = y_mapping(Y(i));
    col = x_mapping(X(i));
    densityMatrix1(row, col) = density(i);
    end

  • 0 赞同
    3 帖子
    70 浏览

    @李东岳 多谢李老师,解析写的很清晰,基本弄明白了

  • 0 赞同
    1 帖子
    32 浏览

    a80fed28-45ef-4507-a08d-13abf19c7ccc-image.png 这个udf具体该怎么编写和使用?

  • 【分享+搬运】自定义非均匀inlet U

    OpenFOAM
    1 赞同
    11 帖子
    3k 浏览

    没事,找到错误就好。这个方法其实比较笨,因为每次你修改网格,就要重新处理一遍数据。
    有的时候会麻烦一些。

    祝收敛

  • 0 赞同
    4 帖子
    105 浏览

    倒数第二个图,这种提示都看不出来具体咋回事
    倒数第一个图,我挂libtorch的时候用过那个,你那个挂libtorch了么

  • 0 赞同
    4 帖子
    335 浏览

    loop的是面网格上的所有网格。你的需求应该能实现,最简单的办法是,每个面网格中心去读一遍文档,把散点距离自己最近的那个点的速度赋给所在网格。但是会有其他问题,散点疏密是不是和面网格疏密比较匹配,也许一个面网格配多个散点或者反之。

  • 求教边界层生成问题

    OpenFOAM
    0 赞同
    17 帖子
    2k 浏览

    @上级 大佬,想问下cfMesh上手难吗?我在做相似的研究,想转成cfMesh试一下

  • openfoam如何中途调整更改网格?

    OpenFOAM
    0 赞同
    5 帖子
    140 浏览

    @学流体的小明 我也觉得难搞,我重组了某个时间步的网格文件,发现只有一个point文件,可能要一个点一个点的加😫,而且还有各种场文件貌似也要改😂

  • ICEM版本问题

    Meshy
    0 赞同
    1 帖子
    45 浏览

    请问大家,有个ICEM19.4导出的.blk文件,在新版本(2022)中导入显示版本不匹配,但是.tin文件就可以,有没有什么好办法可以查看.blk文件?

  • 鼓泡床参数设置的一个问题

    OpenFOAM
    0 赞同
    19 帖子
    1k 浏览

    好的,谢谢李老师!! 这个问题我纠结了好几天

  • 0 赞同
    6 帖子
    1k 浏览

    @李东岳 明白了,谢谢!

  • snappyHexMesh网格贴合问题

    OpenFOAM
    0 赞同
    1 帖子
    56 浏览

    各位,我的网格用snappyHexMesh始终无法贴合stl,文件和运行截图如下terrain.zip 1a5285fc-56fa-4a24-b1c2-1169fcc3048f-image.png

  • 对时间和网格无关性的研究

    OpenFOAM
    0 赞同
    16 帖子
    418 浏览

    @crispy 那你看其他库朗数的结果怎么样,1以下的,是时间步长越大,cd越好么