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. rhoSimpleFoam:k-epsion 湍流Pr数

rhoSimpleFoam:k-epsion 湍流Pr数

已定时 已固定 已锁定 已移动 OpenFOAM
21 帖子 5 发布者 13.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 微 离线
    微 离线
    微凉风
    在 中回复了 云翳的黄昏 最后由 编辑
    #4

    @云翳的黄昏 您好,我现在也遇到了需要修改湍流普朗特数的问题,请问您当时是如何解决的呢?

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 云翳的黄昏 最后由 编辑
    #5

    @云翳的黄昏 两个方法。要么看懂源码的调用,改源码;要么自己重新在createFields.H里面定义一个普朗特数,然后把求解器里面用到普朗特数的地方改成你自己定义的这个。后面这个可能更容易一些。

    I don't want to survive, I want to thrive.

    微 E 2 条回复 最后回复
  • 微 离线
    微 离线
    微凉风
    在 中回复了 cccrrryyy 最后由 编辑
    #6

    @cccrrryyy 谢谢老师,我去尝试一下

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #7

    @cccrrryyy 您好,我在更改kOmegaSST模型中的湍流普朗特数找到其湍流Prt调用的在EddyDiffusivity文件。

    template<class BasicTurbulenceModel>
     31  void Foam::EddyDiffusivity<BasicTurbulenceModel>::correctNut()
     32  {
     33     // Read Prt if provided
     34     Prt_ = dimensioned<scalar>::lookupOrDefault
     35     (
     36         "Prt",
     37         this->coeffDict(),
     38         1.0
     39     );
     
     41     alphat_ = this->rho_*this->nut()/Prt_;
     42     alphat_.correctBoundaryConditions();
     43 }
    
     // Cannot read Prt yet
     74     Prt_("Prt", dimless, 1.0),
    

    这里的1.0指的是给定的Prt默认值是1.0嘛?如果将Prt更改成多条件判别式是将1.0直接更改为判定语句嘛?如果在这个文件夹下更改,是不是对于两处都要进行更改?

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Exthan 最后由 编辑
    #8

    @exthan 我感觉你在这里改有点深了,直接在求解器那里改会方便一点。在rhoSimpleFoam里加一个变量来表示湍流Pr数,然后方程求解的时候本身用到湍流Pr数的地方改成你这个就可以了。

    I don't want to survive, I want to thrive.

    E 4 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #9

    @cccrrryyy 定义变量名必须不能重名,然后能量方程的prt更改成新变量名?老师你有类似的模板嘛?

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #10

    @cccrrryyy 我现在遇到的问题是能量方程直接用的有效的alphaEff,如果我create一个新变量,但是关于新变量的定义在哪定义呢?是在能量方程定义嘛?但是仍然要去更改alphaEff里面的Prt才行。

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #11

    @cccrrryyy 你好,我将EddyDiffusivity里将dimensionedScalar Prt改成了volScalarField Prt,修改完成之后,编译也完成,但是想查看新的Prt是否参与计算,所以想输出结果查看,可在reconstruct算例时出现错误,错误信息是T的边界条件segmentation(如下图)
    58a60764-54f6-47f3-889e-f7c5e76465b5-image.png
    请问修改完EddyDiffusivity文件之后,是否还需要修改其他地方呢?

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #12

    @cccrrryyy 老师,不可压缩里通常是在solver里面直接用新的alpha+alphat来代替原来的alphaEff。可压缩哪种方便点,我的prt与mut,mu,nu,alpha,有关.所以感觉在eddyDiffusivity文件中修改更为方便。但是编译后,如何去查看是否调用新的prt,我在solver/creatFields中IOonbject了Prt,但并未生成文件,而且externalWallHeatFlux在映射生成温度T文件时候,也出错了。请问除了修改EddyDiffusivity文件是否还需要修改其他地方?2.如果想要判断新Prt是否成功读入应如何查看?

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Exthan 最后由 编辑
    #13

    @exthan 你的目的是把Prt改成所说的和mut,mu,nu,alpha等等有关的那个表达式对吧?你改的eddyDiffusivity文件路径是啥,我瞅一眼看看,好久没搞可压缩啦。

    你判断修改Prt是否成功的方法应该没问题,但是没有输出有点奇怪,按道理说即便是报错了应该也会输出的。如果这种间接的方式还不行,我一般会直接在程序里面让它输出,就是 Info<< 这样子,缺点是这样会输出每一步每一个cell上你要的数值,优点是你一下就能看出来有没有问题。可以把网格弄很小,反正只是测试程序嘛。

    I don't want to survive, I want to thrive.

    E 3 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #14

    @cccrrryyy
    源文件在src/TurbulenceModels/compressible/EddyDiffusivity
    我不知道如何传输文件。我可以把我的文件发送给你。这是我改写的Prt
    5e09ac6b-106c-401b-8438-9442be6aac80-image.png

    C 1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #15

    @cccrrryyy 你好,我刚在湍流模型里面Info,但是结果并未输出,您说的在.C文件中直接输出要如何写?我看了之前的OF文件读取,但是并不理解。
    5ffd1f48-ebb3-4a1d-859f-57e1b41c892e-image.png
    如果直接在.c中如上图输入,编译显示Prt无定义,请问该如何输出

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #16

    @cccrrryyy 我在.C文件中直接使用了
    Prt.write(),结果生成的文件
    e724cada-78cb-4753-97e7-06f624fa2d15-image.png
    打开之后却都是边界条件,这是什么原因?
    c872c6c0-228e-4776-82c2-fb9a3b1c939f-image.png

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Exthan 最后由 编辑
    #17

    @exthan 因为你的Prt是定值呀,这个文件不止包含边界条件,内部场也是有的,只不过是uniform 0.85。

    你用info输出那里是不是应该直接改为Prt_,而不是Prt()。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Exthan 最后由 编辑
    #18

    @exthan 改EddyDiffusivity这一部分,可否直接自己建一个变量,只不过它的计算基于mut,mu这些,然后求解器那块全部使用这个自建的变量。就是说,原有的Prt全部保留,只是增加一个东西,然后求解器用的是新加的这个。

    I don't want to survive, I want to thrive.

    E 1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #19

    @cccrrryyy 请问如何在.c文件中调用mu.nu这些量呢?还有网格,代码是如何表现,我试了调用,但总是报错,显示未定义,但是我已经在creatFields定义场了。

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Exthan 最后由 编辑
    #20

    @exthan 这些量本身就是有的吧,mu_,nu_这样子?

    你试过调用但显示未定义这个过程是什么样的?

    I don't want to survive, I want to thrive.

    E 1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 cccrrryyy 最后由 编辑
    #21

    @cccrrryyy 编译solver的时候直接报错,显示没定义

    1 条回复 最后回复

  • 登录

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