@东岳 谢谢东岳老师的关心,后来还是有点进展,不过进度不是很大,现在所走的路就是修改求解器,文章还没有出来。等出来之后我会详细说下这个问题。
影川风
帖子
-
-
@影川风 已解决,看了底层的基类,发现已有定义,直接调用过来就行。
-
@Jacobian 你好,非常感谢提供的参考,试了下的确有用。我现在遇到一个问题,我现在想在compressibleMultiphaseInterFoam求解器下multiphaseMixtureThermo.C下想调用压力,因为直接使用编译会说没有宣称。我能用什么办法调用压力呢?
-
参加过17年的OKS培训,收获很大。想购买高大上的鼠标垫,邮箱:1349262774@qq.com
-
在运行溃坝算例时候,我们是在初始时刻通过setfields给指定区域初始化alpha,那么如果是运行一段时间后,我想在运行的算例中某区域重新初始化一个alpha。该怎么做呢?
-
@buaa_hgj 方便的话可以加个QQ(1349262774),目前我也在弄这块,可以相互交流交流
-
@buaa_hgj 据我所知,FSI 能用并行吗?即使并行也是流体区域与固体区域平分,这样核间信息交互才不会有问题吧。
-
@东岳 谢谢东岳老师,这个据我所看文献现在of并没有植入,植入很麻烦。现在也不是我研究重点,等有时间在弄这个。
-
出于模拟的需要,需要设置一边界为弹性边界(elasticity boundary conditions),可能是没有找到,在of下没有看到相关的内容。我能怎么做呢?
-
@李东岳 我简单画了一个计算单元,如图所示
输出体心(CX)与面心值(CX1)如下:
mesh = CX 4(0.0025 0.0075 0.0025 0.0075) mesh = CX1 4(0.005 0.0025 0.0075 0.005)
体心还明白是怎么回事,面心有点不明白为什么是这个值?
-
-
参照网上的一个教程修改Coupled Level-Set with VOF interFoam
其中有一个点是:
dimensionedScalar deltaX ( twoPhaseProperties.lookup("deltaX") );
所给的案列中:
网格是:convertToMeters 1; 18 19 vertices 20 ( 21 (0 0 0) 22 (1 0 0) 23 (1 2 0) 24 (0 2 0) 25 (0 0 0.1) 26 (1 0 0.1) 27 (1 2 0.1) 28 (0 2 0.1) 29 ); 30 31 blocks 32 ( 33 hex (0 1 2 3 4 5 6 7) (160 320 1) simpleGrading (1 1 1) 34 );
传输特征transportProperties ;
deltaX deltaX[ 0 0 0 0 0 0 0 ] 0.00625; // 0.006667; epsilon epsilon [ 0 0 0 0 0 0 0 ] 0.009375; // 1.5* deltaX ;
能够发现:
deltaX=1/160=0.00625.
我的问题是这个CLSVOF耦合似乎只针对均匀网格的,而我想运用在不均匀的网格里,我能怎么修改这部分呢?
-
@李东岳 好的,非常感谢东岳老师:happy:
-
东岳老师,能否提个不情之请,可以分享下算例吗?我目前也在看对流项的差值格式,想学习下这方面的知识。
-
@李东岳 我觉得不是机器精度的问题,我用单核能够计算出较为符合的结果,用多核计算的结果相差较大(跟自带的算例相比)。
-
最近在求解器中加了一个输出,输出量是rho
*
alpha*
V(气相密度*
气相体积分数*
计算域体积)
单核输出的情况如下:output update massOfBubbles0 7.87118497833e-12 output update massOfBubbles 7.87118889713e-12
至始至终都相差不大。
然而开并行在计算的时候输出的时候出现如下情况:
刚开始是这样:output update massOfBubbles0 4.23997812699e-14 output update massOfBubbles 7.87118889736e-12
计算到一定时间步之后出现这样的情况:
output update massOfBubbles0 4.23997812699e-14 output update massOfBubbles 3.42961774122e-12
在这里的
massOfBubbles0
是在createFileds里计算的,所以一直不变,massOfBubbles
是在求解完压力泊松方程后更新密度后再计算的。
疑问是:同样的算例,为什么开并行跟单核计算输出massOfBubbles0
和massOfBubbles
会有区别呢? -
@李东岳 感谢东岳老师,非常详细的步骤。我会好好看看这块
-
@jacobian twoPhaseMixtureThermo.C下就有它的定义,单独每相的可以顺着往下找就能看见
-
@李东岳 我目前在看官方版本4.1下的compressibleInterFoam求解器
在twoPhaseMixtureThermo类中,我没弄错的话它的定义是这个,有错还请纠正我。void Foam::twoPhaseMixtureThermo::correct() { thermo1_->he() = thermo1_->he(p_, T_); thermo1_->correct(); thermo2_->he() = thermo2_->he(p_, T_); thermo2_->correct(); psi_ = alpha1()*thermo1_->psi() + alpha2()*thermo2_->psi(); mu_ = alpha1()*thermo1_->mu() + alpha2()*thermo2_->mu(); alpha_ = alpha1()*thermo1_->alpha() + alpha2()*thermo2_->alpha(); }
我想看下 thermo1_->psi() 是怎么定义的,我在
psiThermo.C
下看到
Foam::psiThermo::psiThermo(const fvMesh& mesh, const word& phaseName)fluidThermo(mesh, phaseName), psi_ ( IOobject ( phasePropertyName("thermo:psi"), mesh.time().timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionSet(0, -2, 2, 0, 0) ), mu_ ( IOobject ( phasePropertyName("thermo:mu"), mesh.time().timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionSet(1, -1, -1, 0, 0) ) {}
找到这儿,我不是很清楚了接下来该怎么查看各相psi的s定义,我知道它的定义会在equation of state 里,就是不清楚怎么联系的。
-
@李东岳 谢谢东岳老师。我找到了它的定义。请教一个问题,我想修改psi,我看了下of下psi 的定义是
const Foam::volScalarField& Foam::rhoThermo::psi() const { return psi_; }
我想修改成变量psi, 我该怎么做呢?
-
eg.
fvVectorMatrix UEqn ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + turbulence->divDevRhoReff(U) );
中的divDevRhoReff(U)
-
@李东岳 我解决了这个问题,是因为part时候出现了问题,重新part之后就可以了。
-
错误如图所示。
![0_1508165411804_GYB2N7_PDQ{I_NY8%F9$B3.png这个该怎么修改呢?
-
@李东岳 好的,我在看看。植入是整套算法都植入过来,那难度实在太大了。
-
@李东岳 有相应的文献,不过他使用的是边界积分法来计算的http://aip.scitation.org/doi/abs/10.1063/1.4944349。
-
@李东岳 东岳老师,我今天看了下MP-PIC算法,它是算颗粒与颗粒的相互作用和颗粒与流体的相互作用的一种算法。而我想做的是在液体中模拟气体跟颗粒相互作用,尤其是单气泡跟单颗粒的相互作用。我有个想法是在interfoam的基础上加入颗粒模型,但是不知该怎么做呢?
-
@李东岳 好的,谢谢东岳老师
-
如标题所示,目前想在气液两相的基础上加入颗粒,模拟液体下气体跟颗粒的相互作用。目前看到有interFoam+DEM耦合的,不过这个耦合软件并没有公开,想问问各位同行是否以前弄过相类似的问题,求教下。
-
@李东岳 东岳老师,我解决了这个问题,是由于我编写的公式中有一个分母为0的缘故,现已解决,谢谢老师。
-
如图所示,这是什么原因造成的呢?
-
@李东岳 东岳老师,我懂了。进入相应of的环境变量下,就能调用出相应版本的paraview了。谢谢东岳老师:happy:
-
@李东岳 东岳老师,就是在各自of下运行paraFoam,就是调用自带的paraview。比如of2.4.0下自带安装的是paraview4.1.0,不过我想在of2.4.0下算得case用更高版本的paraview来处理,这一步我能怎么做呢?你的意思是您自行安装了一个paraview,通过paraview打开相应的算例来处理吗?
-
@yhdthu 这样啊,我以为你是安装了多个of,所有有多个paraview。我现在安装了多个of,因此也有了多个paraview,比如我的case是在of2.4.0下算的,of2.4.0下相应的paraview是4.1.0.不过我想调用paraview5.0(ofdev下)来后处理,我不会调用
-
@yhdthu 你是装了多个版本的paraview,之后调用了一个低版本的,是这样的吗?
-
@李东岳 非常感谢东岳老师耐心的解答,我最近尝试着解决下这个问题
-
http://cfd-china.com/topic/95/compressibletwophasemixture库编写问题 链接是一年前有前辈在论坛里问过的问题。我现在也面临着相似的问题,怎么编写compressibleTwoPhaseMixture库来调用空化模型?
-
我想在compressibleInterFoam求解器的基础上加入空化模型,控制方程的编写基本上没啥问题,不过参数调用这块我不怎么会,我请教过别人也看过曾经在这论坛里问过相似问题的前辈问的问题,不过还是不怎么理解。
-
@random_ran 恩恩,的确有点宽泛了,昨天详细看了几篇论文,发现模拟中有很多不一样的地方,现正在着手进行修改算着,后期我会把详细模拟情况附上。非常感谢你的帮助哈@random_ran
-
如题,我正在用openfoam模拟水下气泡成长与溃灭过程,但是模拟出来的气泡成长与溃灭的时间与所看文献实验时间不符合,如数值模拟气泡成长与溃灭的时间是0.5ms,而实验的时间是0.2ms.请问这样的问题该怎么解决呢?
数值模拟时间与实验时间不符合的问题
关于调用 PtrDictionary<phaseModel> 类储存的场的数据
关于调用 PtrDictionary<phaseModel> 类储存的场的数据
CFD周边
某一运行时间下赋初值问题
FsiFoam并行问题
FsiFoam并行问题
OF下怎么设置弹性边界?
OF下怎么设置弹性边界?
interFoam下VOF 跟 LS 的耦合问题
interFoam下VOF 跟 LS 的耦合问题
interFoam下VOF 跟 LS 的耦合问题
MULES, CMULES and IMULES 测试
MULES, CMULES and IMULES 测试
单核与并行时输出的区别
单核与并行时输出的区别
怎么才能在代码里快速找到函数的定义?
怎么才能在代码里快速找到函数的定义?
怎么才能在代码里快速找到函数的定义?
怎么才能在代码里快速找到函数的定义?
怎么才能在代码里快速找到函数的定义?
ICEM画的网格,导入OpenFOAM下出错
ICEM画的网格,导入OpenFOAM下出错
interFoam求解器下如何加入颗粒?
interFoam求解器下如何加入颗粒?
interFoam求解器下如何加入颗粒?
interFoam求解器下如何加入颗粒?
interFoam求解器下如何加入颗粒?
interFoam求解器下如何加入颗粒?
compressibleInterFoam中压力方程求解出错
compressibleInterFoam中压力方程求解出错
noSlip边界速度不为0的问题
noSlip边界速度不为0的问题
noSlip边界速度不为0的问题
noSlip边界速度不为0的问题
compressibleInterFoam求解器怎么加入空化模型
compressibleInterFoam求解器怎么加入空化模型
compressibleInterFoam求解器怎么加入空化模型
数值模拟时间与实验时间不符合的问题
数值模拟时间与实验时间不符合的问题