这个问题我也遇到过,比如对于同一个流场,同样的空化数,来流速度10m/s就不会产生负压,来流速度20m/s就有负压产生。增加SS空化模型的系数n的值或许能解决问题。
杨英狄
帖子
-
-
@杨英狄 感谢感谢!
-
利用compressibleInterFoam进行汽液两相流计算(空化),流场温度是非均的。 在定义thermoPhysicalProperties时,需要选用:
1、transport模型:计算粘度和导热率
2、thermo模型:计算比热容
但是这二者的子模型只能给定物理性质随温度的变化关系,事实上这些物理性质(如粘度、导热率、比热容)也随压力发生变化。
所以如何定义thermoPhysicalProperties,才能让他们在不同的温度和压力下均能计算出正确的物性?
谢谢各位! -
@李东岳 李老师您好,我在做空化,需要考虑湍动能对空化的影响,其实是在饱和蒸气压上加一个修正项:pturb=0.39*(密度*湍动能)。所以就需要在求解器里面声明一下湍动能。
感谢李老师。 -
大家好,想请教一下各位,如何在求解器中,或者说是在createFields.H中声明湍流相关的场,如湍动能、湍流耗散率等。
因为目前需要考虑湍流对汽液传质的影响,需要在压力方程中用到湍动能,所以想知道怎样在求解器中声明。
感谢各位!
-
@李东岳 请教一下李老师,怎么在creatFields或者求解器中声明湍流的相关信息呢,如湍动能k,谢谢李老师
-
@LYT 我有个问题要请教你,在更新相分数场的时候就要用到dgdt,此时dgdt的表达式就是setfields中的形式,但是这样的话跟公式是对不上的,这个是什么原因呢,谢谢!
-
东岳老师在 东岳流体 中的compressibleinterfoam解析现在没有了,还有能看到这个解析的途径吗?
-
想请教各位一个问题:如果我想研究高温水蒸气在液态水中的冷凝及流动情况,应该使用哪个求解器呢?或者应该在那个求解器的基础上进行修改呢??谢谢
-
在OpenFOAM7虚拟机上对求解器进行编译,发现只要将求解器从solvers文件夹换到其他文件夹就好编译出错,报错内容如下:
如果有哪位知道原因可以请教一下吗,谢谢! -
@杨英狄 就是说想以这样的方式注入拉格朗日粒子:每个时间步注入流场的粒子的数量、位置都与当前时间步的流场有关,这样的注入方式怎么实现呢?
-
@yfclark 你好,你这个功能实现了吗,可以请教一下如何实现的吗?
-
如果想用OpenFOAM实现一个多尺度模型,即比如利用interfoam计算气液两相流,当流场中某个气泡的尺度太小时,则转化为拉格朗日粒子。
那么该如何实现在流场中某一位置注入拉格朗日粒子呢?谢谢! -
如果已知流场内某一点的坐标(a,b,c),想通过插值获得这一点的流场物理量,可以使用interpolate()函数,这一函数的定义如下:
template<class Type> Type Foam::AveragingMethods::Basic<Type>::interpolate ( const barycentric& coordinates, const tetIndices& tetIs ) const { return data_[tetIs.cell()]; }
代码中coordinates、tetIs分别表示什么呢?
如果已知点(a,b,c)如何获取coordinates、tetIs呢?
谢谢! -
@疏影横斜水清浅 这种注入方式引起数值不稳定我也遇到过,我是把入口边界条件改成卷吸边界条件了,可能在物理上不太合理,但是能够保证数值稳定。
-
你好,你是通过哪种方式注入的粒子呢?是patchinjection吗?
-
各位好
若使用DPMFoam对气相粒子在液相中的行为进行计算
气相粒子的碰撞参数取多少较为合适呢collisionModel pairCollision; pairCollisionCoeffs { maxInteractionDistance 0.0025; writeReferredParticleCloud no; pairModel pairSpringSliderDashpot; pairSpringSliderDashpotCoeffs { useEquivalentSize no; alpha 0.02; b 1.5; mu 0.10; cohesionEnergyDensity 0; collisionResolutionSteps 12; }; wallModel wallSpringSliderDashpot; wallSpringSliderDashpotCoeffs { useEquivalentSize no; collisionResolutionSteps 12; youngsModulus 1e8; poissonsRatio 0.23; alpha 0.01; b 1.5; mu 0.09; cohesionEnergyDensity 0; }; U U.air; }
谢谢各位!
-
@卡洛 是直接断掉了,算例结束运行了
-
各位好,想请教一下,我在使用DPMFoam进行计算时,计算异常中断了。
在计算完速度之后,计算就停止了。
算例中fvSolution设置如下:solvers { "(p|kinematicCloud:theta)" { solver GAMG; tolerance 1e-06; relTol 0.01; smoother GaussSeidel; } "(p|kinematicCloud:theta)Final" { solver GAMG; tolerance 1e-06; relTol 0; smoother GaussSeidel; } "(U.air|k|omega)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } "(U.air|k|omega)Final" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-05; relTol 0; } p_rgh { solver GAMG; tolerance 1e-8; relTol 0.1; smoother DICGaussSeidel; maxIter 50; }; p_rghFinal { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-6; relTol 0; nVcycles 2; smoother DICGaussSeidel; }; tolerance 1e-7; relTol 0; maxIter 50; }; Phi { $p_rgh; relTol 0; }; } PIMPLE { nOuterCorrectors 1; nCorrectors 2; momentumPredictor yes; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } potentialFlow { phiRefCell 0; phiRefValue 0; nNonOrthogonalCorrectors 3; } relaxationFactors { }
有人遇到过类似的问题吗
谢谢! -
采用DPMFoam计算颗粒流,出现压力场异常(比如产生非常剧烈的负压),但是速度场正常。
DPMFoam得到的压力场异常这件事,之前论坛中有提及。
想请教一下各位,这个问题该如何解决呢?
谢谢各位! -
@星星星星晴 好的,谢谢!
-
各位好,想请教一下:
我在kinematiccloud()函数中添加了两个新变量:
但是编译时候报错,“ default argument missing for parameter”
这个怎么解决呢,谢谢各位! -
@tens 感谢!
-
各位好
我在KinematicCloud.C中如果想在一个函数中输出计算时间:
scalar t0 = runTime.elapsedCpuTime();
但是编译报错,runtime没有声明
我该怎样解决这个问题呢
谢谢各位! -
@上级 你好,可以请教一下,肖恒老师的基于扩散方程方法你在OpenFOAM中实现了吗?可以请教你一些相关问题吗?或者方便提供一下代码吗?万分感谢1
-
@上级 非常感谢!
-
各位好,有人尝试过通过求解扩散方程:
解决拉格朗日粒子大于网格的问题吗
可以提供一下思路吗
谢谢各位 -
@yfclark 你好,这个文章里面提到的基于扩散的的方法DBM,这个方法您尝试过吗,可以的话可以提供一下实现的思路吗?
谢谢! -
@李东岳 李老师好,我想实现的是这样一个事情,如图:
在每一个计算时间步下,都计算一次扩散方程:
从0求解至1,这个扩散方程的时间步是1/3
可以请教李老师一下,这种有什么解决方法吗?
非常感谢! -
@李东岳 谢谢李老师
-
请教一下各位
OpenFOAM里面有没有求解器中嵌套另一个求解器的情况呢
谢谢各位 -
@bestucan 非常感谢!
-
@星星星星晴 太感谢了!
-
@星星星星晴 非常感谢你的帮助!
-
@星星星星晴 你好,是这样的。我的根本目的是做一个新的CloudFunctionObjects,就像particleerosion或者particleTrap这种。
我发现particleTrap里面有postface函数。我注意到这个postface函数在kinematic.C文件里的move函数中被调用了。所以我就想把我的CloudFunctionObject里的could.functions().函数也加在move里面。(不太清楚particleTrap里面的postface函数与move函数里面调用的postface函数是不是一个东西)
非常感谢! -
@星星星星晴 好的谢谢!
-
@星星星星晴 非常感谢!我是做了一个cloudfunction,类似于move里面调用的postface函数,我想让我的cloudfunction被调用,所以打算也放在move里面
-
@星星星星晴 你好,想请教一下。我添加了一个函数,想在move里面调用,但是这个函数需要获取流场边界网格信息,所以变量里包括CloudType&owner 。但是,move函数里面没有这个变量。所以我需要模仿红框里面的代码,让我可以在move函数里面使用CloudType&owner。但是不知道该怎样模仿。不知道可否请教你一下。
谢谢! -
各位好
请教一个代码知识
如下是kinematicparcel.C文件中的move函数
想请教红框里面的代码的含义
(我的理解是红框里的代码可以使得move函数中可以使用parcelType&p相关的变量比如p.cell(),不知道对不对)
谢谢各位 -
各位好
如下代码可以实现计算某一个边界面面积的功能
但是如果我现在无法调用mesh类,我是否可以手动对列表cPatch和magsf进行赋值来实现计算
谢谢各位 -
@星星星星晴 谢谢老师
-
@星星星星晴 老师,比如当前时刻为4s,欧拉时间步是1s,我想在时刻为4s的时候调用时刻为3s的粒子属性。
我做的东西粒子半径是变化的,我需要用上一时刻的粒子半径一阶时间导数与当前时刻的粒子半径一阶时间导数进行比较。判断粒子的一些状态。
谢谢老师 -
各位好
OpenFoam中一个欧拉时间步deltaT包含若干粒子时间步dt
那么如何调用一个欧拉时间步之前的粒子信息呢,比如粒子速度
谢谢各位 -
@李东岳 李老师想请教一下,如果想获得网格信息,比如面网格坐标,是不是前面必须要有如下代码:
谢谢李老师! -
@李东岳 好的,谢谢李老师
-
@李东岳 李老师,我这个是在Particleerosion.C文件里面写的,因为也想计算粒子对壁面的某种作用,所以想对Particleerosion进行修改。这几行代码是添加在postPatch函数中的
-
@李东岳 李老师想请教一下,如果我直接使用mesh.Cf()函数,会报错说‘mesh’没有声明。
代码如下,我想获得某一个边界面的面网格坐标
谢谢李老师!
-
@杨英狄 这个也是计算粒子与壁面的作用,所以就是在particleerosion函数的基础上改的
-
各位好
我在粒子求解器里面做了一个东西
用来计算粒子与壁面每一个网格的距离,代码如下
编译的时候报了几个错误,想请教一下各位
错误1:
错误2:
错误3:
感谢各位 -
@李东岳 多谢李老师
open foam空化流出现负压
compressibleInterFoam如何给定气体的thermoPhysicalProperties
compressibleInterFoam如何给定气体的thermoPhysicalProperties
openfoam中添加湍流激励
如何在求解器中声明湍流相关信息,如湍动能k
openfoam中添加湍流激励
关于compressibleinterFoam中的非线性源项dgdt的请教
compressibleinterfoam解析
可凝气体的冷凝数值模拟
OpenFOAMoam7虚拟机求解器编译报错
OpenFOAM上实现VOF-DPM
拉格朗日粒子包(parcel)入注是什么时候添加到粒子云(cloud)的
OpenFOAM上实现VOF-DPM
interpolate()函数怎么用
DPMFoam求解器加颗粒导致发散
DPMFoam求解器加颗粒导致发散
气相粒子碰撞参数设置
计算异常中断
计算异常中断
DPMFoam 压力场异常
kinematiccloud()函数添加新变量报错
kinematiccloud()函数添加新变量报错
KinematicCloud.C中输出计算时间
KinematicCloud.C中输出计算时间
基于扩散的方法解决粒子大于网格
基于扩散的方法解决粒子大于网格
基于扩散的方法解决粒子大于网格
拉格朗日粒子光滑到周围网格
求解器中嵌入求解器
求解器中嵌入求解器
求解器中嵌入求解器
mesh类的调用
粒子库的move函数
粒子库的move函数
粒子库的move函数
粒子库的move函数
粒子库的move函数
粒子库的move函数
粒子库的move函数
mesh类的调用
如何调用上一欧拉时间步的粒子信息
如何调用上一欧拉时间步的粒子信息
如何调用上一欧拉时间步的粒子信息
如何获得边界patch面网格中心坐标?
如何获得边界patch面网格中心坐标?
如何获得边界patch面网格中心坐标?
如何获得边界patch面网格中心坐标?
mesh.Cf()有关问题
mesh.Cf()有关问题
如何获得边界patch面网格中心坐标?