CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   movingConeTopo tutorial from 1.5-dev crashes with Floating Point Exception (http://www.cfd-online.com/Forums/openfoam-solving/63927-movingconetopo-tutorial-1-5-dev-crashes-floating-point-exception.html)

jaswi April 23, 2009 11:50

movingConeTopo tutorial from 1.5-dev crashes with Floating Point Exception
 
Dear Forum Users and Developers

Good Evening.

I tried the movingConeTopo tutorial as given in dev version. (pulled out on 21st April 2009). and it crashes with the floating point exception. The debug info shows the following:

Stack trace:

#0 0x000000000043c38c in Foam::divideEqOp2<double, double>:: operator() (this=0x7fff08391cf0, x=@0x7b0b10, y=@0x7fff08391d00) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/ops.H:75
#1 0x000000000043de97 in VectorSpaceOps<3, 0>::eqOpS<Foam::VectorSpace<Foam::Vector<double>, double, 3>, double, Foam::divideEqOp2<double, double> > (vs=@0x7b0b10, s=@0x7fff08391d00, eo={<No data fields>}) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/VectorSpaceM.H:12
#2 0x000000000043ded3 in Foam::VectorSpace<Foam::Vector<double>, double, 3>:: operator/= (this=0x7b0b10, s=0) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/VectorSpaceI.H:236
#3 0x000000000044e49e in Foam::Field<Foam::Vector<double> >:: operator/= (this=0x77f480, f=@0x79bbb8) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/Field.C:716
#4 0x00002ba4a525ebef in Foam:: primitiveMesh::makeCellCentresAndVols (this=0x783180, fCtrs=@0x794190, fAreas=@0x79d0c0, cellCtrs=@0x77f480, cellVols=@0x79bbb0) at meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C:158
#5 0x00002ba4a525ee55 in Foam:: primitiveMesh::calcCellCentresAndVols (this=0x783180) at meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C:67
#6 0x00002ba4a525eeed in Foam:: primitiveMesh::cellVolumes (this=0x783180) at meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C:180
#7 0x00002ba4a40164a1 in Foam::fvMesh::V (this=0x7830c0) at fvMesh/fvMeshGeometry.C:327
#8 0x00002ba4a403ae10 in Foam::fvMesh::movePoints (this=0x7830c0, p=@0x7dcd48) at fvMesh/fvMesh.C:515
#9 0x00002ba4a7945946 in Foam::movingConeTopoFvMesh::update (this=0x7830c0) at movingConeTopoFvMesh/movingConeTopoFvMesh.C:388
#10 0x00000000004357a2 in main (argc=1, argv=0x7fff08395168) at icoDyMFoam.C:67

Here is the same information with some detailed information of the variables in different frames 0-4:

frame 0:

(gdb) frame 0
#0 0x000000000043c38c in Foam::divideEqOp2<double, double>:: operator() (this=0x7fff08391cf0, x=@0x7b0b10, y=@0x7fff08391d00) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/ops.H:75

(gdb) info args
this = (const Foam::divideEqOp2<double, double> * const) 0x7fff08391cf0
x = (double &) @0x7b0b10: 0
y = (const double &) @0x7fff08391d00: 0

frame 1:

(gdb) frame 1
#1 0x000000000043de97 in VectorSpaceOps<3, 0>::eqOpS<Foam::VectorSpace<Foam::Vector<double>, double, 3>, double, Foam::divideEqOp2<double, double> > (vs=@0x7b0b10, s=@0x7fff08391d00, eo={<No data fields>}) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/VectorSpaceM.H:12

(gdb) info args
vs = (Foam::VectorSpace<Foam::Vector<double>, double, 3> &) @0x7b0b10: {v_ = {0, 0, 7.1115353432685034e-32}}
s = (const scalar &) @0x7fff08391d00: 0
eo = {<No data fields>}

(gdb) info locals
No locals.

frame 2:

(gdb) frame 2
#2 0x000000000043ded3 in Foam::VectorSpace<Foam::Vector<double>, double, 3>::
operator/= (this=0x7b0b10, s=0) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/VectorSpaceI.H:236

(gdb) info args
this = (Foam::VectorSpace<Foam::Vector<double>, double, 3> * const) 0x7b0b10
s = 0

(gdb) info locals
No locals.

frame 3:
(gdb) frame 3
#3 0x000000000044e49e in Foam::Field<Foam::Vector<double> >:: operator/= (this=0x77f480, f=@0x79bbb8) at /home/jaswi/OpenFOAM/OpenFOAM-1.5-dev-debug/src/OpenFOAM/lnInclude/Field.C:716

(gdb) info args
this = (Foam::Field<Foam::Vector<double> > * const) 0x77f480
f = (const Foam::UList<double> &) @0x79bbb8: {v_ = 0x7a7eb0, size_ = 82}

(gdb) info locals
i = 76

frame 4:
(gdb) frame 4
#4 0x00002ba4a525ebef in Foam:: primitiveMesh::makeCellCentresAndVols (this=0x783180, fCtrs=@0x794190, fAreas=@0x79d0c0, cellCtrs=@0x77f480, cellVols=@0x79bbb0) at meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C:158

(gdb) info args
this = (const class Foam:: primitiveMesh * const) 0x783180
fCtrs = (const vectorField &) @0x794190: {<Foam::refCount> = {count_ = 0}, <Foam::List<Foam::Vector<double> >> = {<Foam::UList<Foam::Vector<double> >> = {v_ = 0x79e150, size_ = 356}, <No data fields>}, static typeName = <optimized out>}
fAreas = (const vectorField &) @0x79d0c0: {<Foam::refCount> = {count_ = 0}, <Foam::List<Foam::Vector<double> >> = {<Foam::UList<Foam::Vector<double> >> = {v_ = 0x7d5fd0, size_ = 356}, <No data fields>}, static typeName = <optimized out>}
cellCtrs = (vectorField &) @0x77f480: {<Foam::refCount> = {count_ = 0}, <Foam::List<Foam::Vector<double> >> = {<Foam::UList<Foam::Vector<double> >> = {v_ = 0x7b03f0, size_ = 82}, <No data fields>}, static typeName = <optimized out>}
cellVols = (scalarField &) @0x79bbb0: {<Foam::refCount> = {count_ = 0}, <Foam::List<double>> = {<Foam::UList<double>> = {v_ = 0x7a7eb0, size_ = 82}, <No data fields>}, static typeName = <optimized out>}

(gdb) info locals
own = (const labelList &) @0x7833b0: {<Foam::UList<int>> = {v_ = 0x7e8580, size_ = 356}, <No data fields>}
nei = (const labelList &) @0x783420: {<Foam::UList<int>> = {v_ = 0x785f60, size_ = 136}, <No data fields>}
cEst = {<Foam::refCount> = {count_ = 0}, <Foam::List<Foam::Vector<double> >> = {<Foam::UList<Foam::Vector<double> >> = {v_ = 0x7b0e20, size_ = 82}, <No data fields>}, static typeName = <optimized out>}
nCellFaces = {<Foam::refCount> = {count_ = 0}, <Foam::List<int>> = {<Foam::UList<int>> = {v_ = 0x799fc0, size_ = 82}, <No data fields>}, static typeName = <optimized out>}

As can be seen from the state of the variables in frame 0, there is zero by zero division (0/0) and it is causing the crash.
Hope I was not wrong in pointing this out. I am in now way claiming that code is not functioning as described. I hope that some body might have met the same error and give me some tip.


Thanks for the attention

Kind Regards
Jaswi

henrik April 25, 2009 04:42

Dear Jaswi,

sorry, I cannot reproduce your problem with revision 1208. May I suggest that you recompile everything from scratch.

rmoall
./Allwmake

Best Regards,

Henrik

jaswi April 26, 2009 10:21

Dear Henrik

The version I am using is latest. I am not sure which version was that but nevertheless I will update my source code and recompile. In the mean time could you please send me the case setup you tested.

Kind Regards
Jaswi


All times are GMT -4. The time now is 18:33.