@东岳 谢谢东岳老师的关心,后来还是有点进展,不过进度不是很大,现在所走的路就是修改求解器,文章还没有出来。等出来之后我会详细说下这个问题。
影川风
帖子
-
数值模拟时间与实验时间不符合的问题 -
关于调用 PtrDictionary<phaseModel> 类储存的场的数据@影川风 已解决,看了底层的基类,发现已有定义,直接调用过来就行。
-
关于调用 PtrDictionary<phaseModel> 类储存的场的数据@Jacobian 你好,非常感谢提供的参考,试了下的确有用。我现在遇到一个问题,我现在想在compressibleMultiphaseInterFoam求解器下multiphaseMixtureThermo.C下想调用压力,因为直接使用编译会说没有宣称。我能用什么办法调用压力呢?
-
CFD周边参加过17年的OKS培训,收获很大。想购买高大上的鼠标垫,邮箱:1349262774@qq.com
-
某一运行时间下赋初值问题在运行溃坝算例时候,我们是在初始时刻通过setfields给指定区域初始化alpha,那么如果是运行一段时间后,我想在运行的算例中某区域重新初始化一个alpha。该怎么做呢?
-
FsiFoam并行问题@buaa_hgj 方便的话可以加个QQ(1349262774),目前我也在弄这块,可以相互交流交流
-
FsiFoam并行问题@buaa_hgj 据我所知,FSI 能用并行吗?即使并行也是流体区域与固体区域平分,这样核间信息交互才不会有问题吧。
-
OF下怎么设置弹性边界?@东岳 谢谢东岳老师,这个据我所看文献现在of并没有植入,植入很麻烦。现在也不是我研究重点,等有时间在弄这个。
-
OF下怎么设置弹性边界?出于模拟的需要,需要设置一边界为弹性边界(elasticity boundary conditions),可能是没有找到,在of下没有看到相关的内容。我能怎么做呢?
-
interFoam下VOF 跟 LS 的耦合问题@李东岳 我简单画了一个计算单元,如图所示
输出体心(CX)与面心值(CX1)如下:
mesh = CX 4(0.0025 0.0075 0.0025 0.0075) mesh = CX1 4(0.005 0.0025 0.0075 0.005)
体心还明白是怎么回事,面心有点不明白为什么是这个值?
-
interFoam下VOF 跟 LS 的耦合问题 -
interFoam下VOF 跟 LS 的耦合问题参照网上的一个教程修改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耦合似乎只针对均匀网格的,而我想运用在不均匀的网格里,我能怎么修改这部分呢?
-
MULES, CMULES and IMULES 测试@李东岳 好的,非常感谢东岳老师:happy:
-
MULES, CMULES and IMULES 测试东岳老师,能否提个不情之请,可以分享下算例吗?我目前也在看对流项的差值格式,想学习下这方面的知识。
-
单核与并行时输出的区别@李东岳 我觉得不是机器精度的问题,我用单核能够计算出较为符合的结果,用多核计算的结果相差较大(跟自带的算例相比)。
-
单核与并行时输出的区别最近在求解器中加了一个输出,输出量是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, 我该怎么做呢?