各位使用拉格朗日求解器的朋友遇到过这种问题吗?
我上端设置的escape条件,可是会出现这种碰壁逃离不出去情况???
false.mp4
youhaoyu
帖子
-
拉格朗日边界问题 -
气泡虚拟质量力系数取舍有无大佬研究过,或者有相关论文的。关于侧吹的气泡的虚拟质量力系数取舍,我发现侧吹时候,该系数和贯穿深度有关系,所以想看看
-
DPMFoam 压力场异常顶一下这个问题,我也发现我压力场非常有问题,有时候也有负值,这导致我的一些方程需要对压力场进行插值时候有点问题,怎么取去解决啊。包括原本算例,最后算出来p的残差居然是0.1,太大了
-
DPMFoam压力计算失稳@sxz0823 您好,请问您解决这个问题了吗
-
子模型编译成功但求解器不识别@郑学习 你这个是啥版本,我编译的路径不大一样 这个路径下面有很多拉格朗日的底层代码,我这边是在这个下面进行代码植入,然后返回上一个层级进行编译的。你这个添加的地方似乎也行, 我认为应该是这个路径下面进行编译,祝成功!
-
fieldAverage怎样对指定时间范围求时均?@东方白杨 您好,请问
fieldAverage1 { type fieldAverage; functionObjectLibs ("libfieldFunctionObjects.so"); resetOnRestart true; resetOnOutput false; startTime 290; // 开始计算时均值的时间 endTime 500; // 停止计算时均值的时间 outputControl outputTime; fields ( U.air { mean on; prime2Mean on; base time; //以物理时间为基础来计算平均,而不是时间步数。 window 10.0; windowName w1; //optional } p { mean on; prime2Mean on; base time; } );
我目前设置的window10,但是为什么我1时刻也会有相应的文件生成?
-
子模型编译成功但求解器不识别intermediate/parcels/include/makeParcelForces.H 在这个文件下面试试注解一下?
-
瞬态求解器的时均值问题各位大佬请问一下我最近相求一下瞬态的求解器的某一些时刻时均值,所以我在controlDict下面添加了
fieldAverage1 { type fieldAverage; functionObjectLibs ("libfieldFunctionObjects.so"); resetOnRestart true; resetOnOutput false; startTime 290; // 开始计算时均值的时间 endTime 500; // 停止计算时均值的时间 outputControl outputTime; fields ( U.air { mean on; prime2Mean on; base time; //以物理时间为基础来计算平均,而不是时间步数。 window 10.0; windowName w1; //optional } p { mean on; prime2Mean on; base time; } );
可以看出我是打算290秒开始计算我的时均值,算前10秒的平均值(应该是这样的吧),但是我发现在我1秒时候就会产生时均值文件
这是为啥啊 -
插值代码编写问题但是我下面那个
dnew = 2*(pgo_*pow(Ro_,3)/70000,1/3.0)
并没有出现报错,求解器可以正常使用。所以我在考虑是不是我Pc插值有问题,为了研究这个我尝试了下原有的密度插值rhoc,求解器能够使用
dnew = 2*(pgo_*pow(Ro_,3)/(10*rhoc_),1/3.0)
-
插值代码编写问题@李东岳 编译通过了,就是计算时候输入求解器命令时候报错
-
插值代码编写问题我为什么会这么问呢,因为我编写颗粒方程时候,先想着用理想气体方程,pv3=pv3
所以我代码是dnew = 2*(pgo_*pow(Ro_,3)/Pc_,1/3.0)
其中,pgo是气泡初始压强,ro是初始半径。编译成功,但求解器使用时候失败了,我为了研究哪儿有问题,我分辨改了上下两个形式。
dnew = 2*(70000*pow(0.00005,3)/Pc_,1/3.0) dnew = 2*(pgo_*pow(Ro_,3)/70000,1/3.0)
上面那个求解器无法使用,下面求解器可以使用,然后我也调用了一下of原有的rhoc这几个插值也能使用,我感觉是我Pc没有插值成功,研究好久好久也不知道哪儿有问题,我完全是原本rhoInterp如何插值编写的我也模仿写的。
-
插值代码编写问题请问各位大佬编写拉格朗日求解器插值问题时候如何进行编写的呢?比如我想识别颗粒收到的液体压强,首先我在求解器上的creatFields.H编写个P=p*rhoc,然后再src源文件里面插值
Pc_ = td.PInterp().interpolate(this->position(), tetIs); //- myadd //-myadd Pressure interpolator autoPtr<interpolation<scalar> > PInterp_; inline const interpolation<scalar>& PInterp() const;
等等这些代码我都是照着of原有的几个Uc,rhoc,muc模仿写出来的,但是我似乎没有插值成功,我直接使用of自带的muc,rhoc这几个插值可以使用。
这个问题是哪儿有问题呢,是不是我的求解器需要进行修改,单单识别一个P不可以 -
Euler-Lagrange的一些解析,sprayFoam@星星星星晴 比如of他自带Uc插值,是网格中心mesh的,但没有压力P插值,我人为在求解器中间写了个Pc(模仿createField.H的Uc写的),然后在源库里面使用跟着UInterp模仿写PInterp,我这个思路我感觉应该是正确的吧,包括加什么粒子新的属性,我都是模仿他们原有的p.age这些去编写,但是最后就是有问题。
google有什么更好的搜索方式吗,我之前尝试过,请问还有什么平台我可以去询问,cfdonline我打算也问问哈哈哈哈哈 -
Euler-Lagrange的一些解析,sprayFoam@星星星星晴 您好大佬,我询问一些事情不知道您曾经是否遇到过。我在加(p.d)颗粒长大时候,假如我颗粒直径是个随着时间线性增长的函数时候,能够进行源文件编译,求解器运行,形如我代码红框那个部分(其他地方是我原始的方程代码,我没有进行使用罢了,storeddt就是我的d)
但是我修改一下代码,改成pv=nrt这种就无法使用,能够通过编译,就是无法进行求解器运行,一下子就报错
**我在想难道是他无法去识别我这个Ro_ pgo_,Pc_???**这个Pc是我在求解器里自定义的p*rho。但是我在其他文件下面仿造openfoam自带的一些颗粒属性都对这些进行了定义啊,这个问题困扰了我好几个月了
-
OpenFoam不可压+瞬态 对流项隐性离散推导看不懂这是高斯定理,可以看高数下学习三微积分时候的内容,总体来说就是,在某个封闭空间里面,内部散度积分等于封闭体积的外轮廓面积分。你一个网格里面内部的散度的积分,就是流进流出这个网格的量。其中后面那个dS代表面积分吧
-
编译求解器,原始某些功能无法使用问题最近编写了一个拉格朗日DPMFoam下面的颗粒长大的求解器,在OpenFOAM/OpenFOAM-3.0.0/src/lagrangian/intermediate/lnInclude对源文件进行了修改。
源文件,求解器均编译成功,使用新求解器时候不能运行stochasticDispersionRAS的随机游走模型,有如下报错Starting time loop Courant Number mean: 0 max: 0 Time = 0.01 Evolving kinematicCloud Solving 3-D cloud kinematicCloud #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 ? in "/lib64/libc.so.6" #3 std::string::rfind(char, unsigned long) const in "/lib64/libstdc++.so.6" #4 Foam::IOobject::group() const at ??:? #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? #7 ? at ??:? #8 ? at ??:? #9 ? at ??:? #10 __libc_start_main in "/lib64/libc.so.6" #11 ? at ??:? Segmentation fault (core dumped)
修改了一下算法,算简单一点也有报错
Courant Number mean: 0 max: 0 Time = 0.001 Evolving kinematicCloud Solving 3-D cloud kinematicCloud [2] #[3] #0 0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[1] #0 Foam::error::printStack(Foam::Ostream&)[0] #0 Foam::error::printStack(Foam::Ostream&) at ??:? at ??:? at ??:? at ??:? [3] #1 [1] #[2] #1 Foam::sigSegv::sigHandler(int)1 Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int)[0] #1 Foam::sigSegv::sigHandler(int) at ??:? [3] #2 ? at ??:? [2] #2 at ??:? [1] #2 ?? at ??:? [0] #2 ? in "/lib64/libc.so.6" [1] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [3] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [2] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [0] #3 std::string::rfind(char, unsigned long) const in "/lib64/libstdc++.so.6" in "/lib64/libstdc++.so.6" [1] #4 Foam::IOobject::group() const[3] #4 Foam::IOobject::group() const in "/lib64/libstdc++.so.6" [2] #4 Foam::IOobject::group() const in "/lib64/libstdc++.so.6" [0] #4 Foam::IOobject::group() const at ??:? [1] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [3] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [2] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [0] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [1] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [3] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [2] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [0] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [1] #7 at ??:? [2] #7 at ??:? [3] #7 at ??:? [0] #7 ???? at ??:? [1] #8 at ??:? [2] #8 at ??:? [3] #8 at ??:? [0] #8 ???? at ??:? [1] #9 at ??:? [2] #9 at ??:? [3] #9 at ??:? [0] #9 ???? at ??:? [1] #10 __libc_start_main at ??:? [3] #10 __libc_start_main at ??:? [2] #10 __libc_start_main at ??:? [0] #10 __libc_start_main in "/lib64/libc.so.6" [1] #11 in "/lib64/libc.so.6" [3] #11 in "/lib64/libc.so.6" [2] #11 in "/lib64/libc.so.6" [0] #11 ???? at ??:? at ??:? at ??:? at ??:?
看起来是和Collisionparcel文件有关系?????为什么我改一下颗粒直接变化还和碰撞模型的文件产生了影响??我修改完了之后,不用随机游走模型倒是能跑,但是之后我是算例是需要运动随机游走模型的,所以我想搞想清楚原因,是不是我还要对CollisonParcel文件进行修改
-
模拟文丘里管道空化中浮点数溢出什么求解器,自己写的求解器吗,会不会是求解器问题??或者你再检查下边界条件
-
新手疑问。为什么别人开发的求解器对of版本有要求@haozhibin 在 新手疑问。为什么别人开发的求解器对of版本有要求 中说:
发的fe3.0版
源文件不一样呗,算法应该都是差不多的,但是处理方式不一样。这种移植的话,相隔不久的版本应该好做,但是远一点版本就难了
-
DEM和DPM@AppleKiller 行,我再看看,研究了好久感觉都没问题,我再重新看看我的函数
-
DEM和DPM@hurricane007 问题太奇怪了,以至于现在我都不知道如何解决它,openfoam没有相应提示的报错
我修改完src文件之后能够编译成功
我又修改了DPMFoam求解器文件也能编译成功(warn应该是提醒我,我自己新增的变量,每个地方写的顺序有点不一致)
但是我使用该求解器就报错
这个没啥报错提示,我卡了好久了,感觉自己改的源代码也没啥问题