rhoSimpleFoam:k-epsion 湍流Pr数
-
@cccrrryyy 谢谢老师,我去尝试一下
-
@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直接更改为判定语句嘛?如果在这个文件夹下更改,是不是对于两处都要进行更改?
-
@cccrrryyy 定义变量名必须不能重名,然后能量方程的prt更改成新变量名?老师你有类似的模板嘛?
-
@cccrrryyy 我现在遇到的问题是能量方程直接用的有效的alphaEff,如果我create一个新变量,但是关于新变量的定义在哪定义呢?是在能量方程定义嘛?但是仍然要去更改alphaEff里面的Prt才行。
-
@cccrrryyy 你好,我将EddyDiffusivity里将dimensionedScalar Prt改成了volScalarField Prt,修改完成之后,编译也完成,但是想查看新的Prt是否参与计算,所以想输出结果查看,可在reconstruct算例时出现错误,错误信息是T的边界条件segmentation(如下图)
请问修改完EddyDiffusivity文件之后,是否还需要修改其他地方呢? -
@cccrrryyy 老师,不可压缩里通常是在solver里面直接用新的alpha+alphat来代替原来的alphaEff。可压缩哪种方便点,我的prt与mut,mu,nu,alpha,有关.所以感觉在eddyDiffusivity文件中修改更为方便。但是编译后,如何去查看是否调用新的prt,我在solver/creatFields中IOonbject了Prt,但并未生成文件,而且externalWallHeatFlux在映射生成温度T文件时候,也出错了。请问除了修改EddyDiffusivity文件是否还需要修改其他地方?2.如果想要判断新Prt是否成功读入应如何查看?
-
@exthan 你的目的是把Prt改成所说的和mut,mu,nu,alpha等等有关的那个表达式对吧?你改的eddyDiffusivity文件路径是啥,我瞅一眼看看,好久没搞可压缩啦。
你判断修改Prt是否成功的方法应该没问题,但是没有输出有点奇怪,按道理说即便是报错了应该也会输出的。如果这种间接的方式还不行,我一般会直接在程序里面让它输出,就是 Info<< 这样子,缺点是这样会输出每一步每一个cell上你要的数值,优点是你一下就能看出来有没有问题。可以把网格弄很小,反正只是测试程序嘛。
-
@cccrrryyy
源文件在src/TurbulenceModels/compressible/EddyDiffusivity
我不知道如何传输文件。我可以把我的文件发送给你。这是我改写的Prt
-
@cccrrryyy 你好,我刚在湍流模型里面Info,但是结果并未输出,您说的在.C文件中直接输出要如何写?我看了之前的OF文件读取,但是并不理解。
如果直接在.c中如上图输入,编译显示Prt无定义,请问该如何输出 -
@cccrrryyy 我在.C文件中直接使用了
Prt.write(),结果生成的文件
打开之后却都是边界条件,这是什么原因?
-
@cccrrryyy 请问如何在.c文件中调用mu.nu这些量呢?还有网格,代码是如何表现,我试了调用,但总是报错,显示未定义,但是我已经在creatFields定义场了。
-
@cccrrryyy 编译solver的时候直接报错,显示没定义
14/21