编译求解器,原始某些功能无法使用问题
-
最近编写了一个拉格朗日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文件进行修改