View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001948||OpenFOAM||[All Projects] Bug||public||2015-12-11 16:11||2015-12-16 08:35|
|Fixed in Version|
|Summary||0001948: icoUncoupledKinematicParcelFoam freezes using cohesionEnergyDensity|
|Description||For values larger than about 5e9 the code freezes or crashes in case of OF 2.3.x with the following info:|
Time = 0.002235
Solving 3-D cloud kinematicCloud
77 move-collide subCycles
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::PairCollision<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > >::wallInteraction() at ??:?
#4 Foam::PairCollision<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > >::collide() at ??:?
#5 ? at ??:?
#6 ? at ??:?
#7 ? at ??:?
#8 ? at ??:?
#9 ? at ??:?
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11 ? at ??:?
Floating point exception
|Steps To Reproduce||run icoUncoupledKinematicParcelFoam|
|Additional Information||LIGGHTS works well with that high cohesionEnergyDensity|
|Tags||No tags attached.|
icoUncoupled-Fiber+ParticleCollision.zip (1,496,374 bytes)
Which OpenFOAM version are you running?
You stated product version as 3.0.x but reported the error from 2.3.x.
I use OF 3.0.x; there is no crash, but the simulation freezes. With OF 2.3.x the same case crashes with the error report above.
The issue is with the normalization of the force direction in PairCollision.C
- scalar normalAlignment = normal & pW/mag(pW);
+ scalar normalAlignment = normal & pW/(mag(pW) + ROOTSMALL);
It is not clear what the best form of division stabilization is for this term, it could be done by adding a "small" number to "mag(pW)" or set the result to "0" or "normal" depending on the assumed alignment in the limit of mag(pW) -> 0.
For now I have added ROOTSMALL, if this proves inappropriate please reopen this report.
Resolved in OpenFOAM-3.0.x by commit 27a9f797b9d6d9455f937d6deecf5a0673e7c8f7
Resolved in OpenFOAM-dev by commit 35439753ef974131328ace4fcc1a39aa0bd331eb
||After a git pull and recompilation of lagrangian intermediate and icoUncoupledKinematicParcelFoam, new problems occur. The solver runs through, but the particle disappears and paraview can't open the case (after foamToVtk); setting the cohesionEnergyDensity to zero do not change anything, although usually (OF 2.3.x) the solver keeps the particle and delivers reasonable results.|
If you make the change
scalar normalAlignment = normal & pW/(mag(pW) + ROOTSMALL);
in OpenFOAM-2.3.x does the case run and post-process?
I think ROOTSMALL is too large, I am testing
scalar normalAlignment = normal & pW/(mag(pW) + ROOTVSMALL);
ROOTVSMALL is too small, but the case runs with SMALL.
I do not have any problem opening the case after foamToVtk.
OpenFOAM-2.3.x freezes again with either VSMALL or ROOTVSMALL on both formulas in PairCollision.C with an increased cohesionEnergyDensity (=1e12) at "Time = 0.002235", but OpenFOAM-3.0.x runs now. Still: every solver should sign the particle as inactive at the collision position to indicate that it sticks.
> but OpenFOAM-3.0.x runs now
Are you satisfied with the results?
> Still: every solver should sign the particle as inactive at the collision position to indicate that it sticks.
Can you provide a patch for this change?
> Are you satisfied with the results?
It's all right for me.
> Can you provide a patch for this change?
|2015-12-11 16:11||riefler||New Issue|
|2015-12-11 16:11||riefler||File Added: icoUncoupled-Fiber+ParticleCollision.zip|
|2015-12-11 16:19||henry||Note Added: 0005736|
|2015-12-11 18:16||riefler||Note Added: 0005737|
|2015-12-12 09:11||henry||Note Added: 0005738|
|2015-12-12 09:11||henry||Status||new => resolved|
|2015-12-12 09:11||henry||Resolution||open => fixed|
|2015-12-12 09:11||henry||Assigned To||=> henry|
|2015-12-13 20:12||riefler||Note Added: 0005750|
|2015-12-13 20:12||riefler||Status||resolved => feedback|
|2015-12-13 20:12||riefler||Resolution||fixed => reopened|
|2015-12-13 20:15||henry||Note Added: 0005751|
|2015-12-13 20:44||henry||Note Added: 0005752|
|2015-12-13 20:54||henry||Note Added: 0005753|
|2015-12-16 08:05||riefler||Note Added: 0005769|
|2015-12-16 08:05||riefler||Status||feedback => assigned|
|2015-12-16 08:20||henry||Note Added: 0005770|
|2015-12-16 08:25||riefler||Note Added: 0005771|
|2015-12-16 08:35||henry||Status||assigned => resolved|
|2015-12-16 08:35||henry||Resolution||reopened => fixed|