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

  1. CFD中文网
  2. OpenFOAM
  3. openfoam11中incompressiblevof求解器

openfoam11中incompressiblevof求解器

已定时 已固定 已锁定 已移动 OpenFOAM
11 帖子 2 发布者 2.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    DJohn1211
    写于2024年11月24日 07:31 最后由 DJohn1211 编辑 2024年11月24日 15:33
    #1

    想请问一下论坛里的各位大佬,我最近新安装了of11,看到interfoam求解器变成了incompressiblevof,我想在新版本下重新自定义一下一个新的类似于incompressiblevof求解器,但是我感觉和原来的interfoam求解器差别很大,比如原来interfoam中的ueqn的计算文件我在of11中不太清除incompressiblevof是怎么调用的,或者说在of11中incomprssiblevof是如何解这套方程的呢!
    (f020687f-3e9d-4179-864c-ea704339ebb4-image.png
    这是原来interfoam中计算u的文件内容
    c7915cf0-5c86-43ce-a83d-03110c2f832c-image.png
    小白请教一下各位大佬

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2024年11月24日 07:37 最后由 编辑
    #2

    http://dyfluid.com/openfoam11-1.html

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • D 离线
    D 离线
    DJohn1211
    写于2024年11月24日 09:32 最后由 编辑
    #3

    李老师您好,我看过您发的OpenFOAM libtorch tutorial step by step,我现在有个想法想请教一下您,您写的pinn的代码相当于把整个求解器替换掉,那我如果只通过网络替换其中部分方程的求解该怎么做呢?向请教您一下。举个例子来说,我如果只想把其中的速度方程用一个简单的卷积网络来替换,其他部分还保持原interfoam求解器,我应该怎么自定义这个求解器呢?

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2024年11月24日 14:11 最后由 编辑
    #4

    我如果只想把其中的速度方程用一个简单的卷积网络来替换

    就在openfoam环境下,直接挂libtorch,我那个pinn就是已经处理好了。只不过没有包含OpenFOAM的场。你把openfoam头文件放进去就可以。直接混编。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • D 离线
    D 离线
    DJohn1211
    写于2024年11月29日 07:33 最后由 编辑
    #5

    李老师您好,打扰您了,我尝试了几次混编,想在pimple循环中对动量方程的求解不采用原来的方式,但总是调用libtorch失败,不知道李老师有没有时间能写一个简单的示例代码呢

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2024年11月29日 08:25 最后由 编辑
    #6

    下周给你做个算例更新到 dyfluid.com

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    D 1 条回复 最后回复 2024年12月11日 11:59
  • D 离线
    D 离线
    DJohn1211
    写于2024年11月29日 08:30 最后由 编辑
    #7

    谢谢李老师

    1 条回复 最后回复
  • D 离线
    D 离线
    DJohn1211
    在 2024年12月11日 11:59 中回复了 李东岳 最后由 李东岳 编辑 2024年12月11日 20:43
    #8

    @李东岳 在 openfoam11中incompressiblevof求解器 中说:

    下周给你做个算例更新到 dyfluid.com

    李老师您好,感谢您百忙之中更新的数据驱动LES,但我在运行的时候遇到了一些问题,我按照您在网站上的步骤这么设计了一下。

    #include <torch/torch.h>
    #include "fvCFD.H"
    #include "viscosityModel.H"
    #include "incompressibleMomentumTransportModels.H"
    #include "pisoControl.H"
    #include "pressureReference.H"
    #include "fvModels.H"
    #include "fvConstraints.H"
    #include "NN.H"
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    int main(int argc, char *argv[])
    {
    // 初始化OpenFOAM运行时间
    #include "setRootCaseLists.H"
    #include "createTime.H"
    #include "createMesh.H"
    pisoControl piso(mesh);
    #include "createFields.H"
    #include "initContinuityErrs.H"
    volScalarField nuML
    (
    IOobject
    (
    "nuML",
    runTime.timeName(),
    mesh,
    IOobject::NO_READ,
    IOobject::NO_WRITE
    ),
    mesh,
    dimensionedScalar("zero", dimViscosity, 0.0)
    );
    // 创建并加载神经网络
    auto net = std::make_shared<NN>();
    torch::load(net, "net.pth"); // 加载已训练的模型
    while (runTime.loop())
    {
    Info << "Time = " << runTime.userTimeName() << nl << endl;
    #include "CourantNo.H"
    net->eval(); // 设置网络为评估模式
    // 计算速度梯度
    volTensorField gradU("", fvc::grad(U));
    // 准备输入数据
    auto inBatch = torch::zeros({nuML.size(), 9}, torch::kFloat);
    forAll(nuML, celli)
    {
    inBatch[celli][0] = gradU[celli].component(tensor::XX);
    inBatch[celli][1] = gradU[celli].component(tensor::XY);
    inBatch[celli][2] = gradU[celli].component(tensor::XZ);
    inBatch[celli][3] = gradU[celli].component(tensor::YX);
    inBatch[celli][4] = gradU[celli].component(tensor::YY);
    inBatch[celli][5] = gradU[celli].component(tensor::YZ);
    inBatch[celli][6] = gradU[celli].component(tensor::ZX);
    inBatch[celli][7] = gradU[celli].component(tensor::ZY);
    inBatch[celli][8] = gradU[celli].component(tensor::ZZ);
    }
    // 执行神经网络预测
    auto yPred = net->forward(inBatch);
    // 更新粘性系数 nuML
    forAll(nuML, celli)
    {
    nuML[celli] = yPred[celli].item<float>() / 1e5 + 2e-5;
    }
    runTime.write();
    }
    Info << "End" << endl;
    return 0;
    }

    但是出现了一些warning,不知道哪里出现了问题,我把我的log文件附在这里,想请李老师有空的时候能帮忙看一下问题,谢谢李老师。log.wmake

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2024年12月11日 12:43 最后由 编辑
    #9

    volScalarField nuML("nuML", mesh, dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0, 0, 0), 0.0));

    你有一行代码这么写的,这么写的不对

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    D 1 条回复 最后回复 2024年12月12日 07:41
  • D 离线
    D 离线
    DJohn1211
    在 2024年12月12日 07:41 中回复了 李东岳 最后由 编辑
    #10

    @李东岳 在 openfoam11中incompressiblevof求解器 中说:

    volScalarField nuML("nuML", mesh, dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0, 0, 0), 0.0));

    你有一行代码这么写的,这么写的不对

    李老师,我在定义这个变量的时候是这么定义的:

    volScalarField nuML
    (
        IOobject
        (
            "nuML",                
            runTime.timeName(),    
            mesh,                  
            IOobject::NO_READ,   
            IOobject::NO_WRITE   
        ),
        mesh,
        dimensionedScalar("zero", dimViscosity, 0.0) 
    );
    

    但我还是没有运行成功您的教程,想请问李老师可以把您的算例在论坛共享一下吗?然后我还有一个问题是这样的,我想在of10下icofoam的基础上先修改,但是我只是在头文件引入了#include "NN.H",并没有在求解器中修改内容,就不能编译,我看了一下报错,大致的意思是openfoam和libtorch的数据结构不兼容,但是按照您在http://dyfluid.com/上的算例来看不应该会出现这种报错,想请教李老师一下这其中的原因。这是我这部分的log文件log.wmake

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2024年12月12日 07:51 最后由 编辑
    #11

    OpenFOAM libtorch tutorial step by step 你从这个帖子开始,要确保能编译,再开始其他的工作

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
2024年11月24日 07:31

1/11

2024年11月24日 07:31

未读 10
2024年12月12日 07:51
  • 登录

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