CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Floating point exception with pimpleDyMFoam (https://www.cfd-online.com/Forums/openfoam-solving/98315-floating-point-exception-pimpledymfoam.html)

ebah6 March 8, 2012 01:16

Floating point exception with pimpleDyMFoam
 
Hello everyone,

Running pimpleDyMFoam from a script that allows me to change the rmp, I am facing the following issue:
--------------------
Floating point exception$APP_RUN $* > log.$APP_NAME 2>&1
cat: forces/0.0023389/forces.dat: No such file or directory
sed: can't read forces/0.0023389/forces.dat: No such file or directory
--------------------------------
I check and the file forces/0.0023389/forces.dat DOES exist.
Have anyone encountered a similar issue or have an idea how to go forward.

I should further specify the error location.
----------
line 37: 17142 Floating point exception$APP_RUN $* > log.$APP_NAME 2>&1
----------
And I am using OpenFOAM-2.1.0

Thank you very much for any support.

ebah6 March 8, 2012 01:20

Sorry I did not mean to post twice.
Just to make mention of a quasi-similar point encountered but in Japanese.
the link:
----------
http://groups.google.com/group/openf...2c27b946663ff5
----------
Have you found a lead?


Regards

ebah6 March 8, 2012 13:37

Please,

Here is further information on the errors I am getting.
This info is cut from the log.pimpleDyMFoam file
---------------------------------------------------------------------------------------
#0 Foam::error::printStack(Foam::Ostream&) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
#5
in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
#6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#7
in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
-----------------------------------------------
Any help is really appreciated.

Kind regards.

calim_cfd March 8, 2012 14:10

Quote:

Originally Posted by ebah6 (Post 348267)
Hello everyone,

Running pimpleDyMFoam from a script that allows me to change the rmp, I am facing the following issue:
--------------------
Floating point exception$APP_RUN $* > log.$APP_NAME 2>&1
cat: forces/0.0023389/forces.dat: No such file or directory
sed: can't read forces/0.0023389/forces.dat: No such file or directory
--------------------------------
I check and the file forces/0.0023389/forces.dat DOES exist.
Have anyone encountered a similar issue or have an idea how to go forward.

I should further specify the error location.
----------
line 37: 17142 Floating point exception$APP_RUN $* > log.$APP_NAME 2>&1
----------
And I am using OpenFOAM-2.1.0

Thank you very much for any support.

you're using a script to change foam files so that you got some kinda of time varying results?
first check if Of doesnt have that kinda of BC first..

then as for the script... since you got a dynamic mesh, i'm not rly sure when your script is updating the files.. maybe there's some delay between script and code run and ur messing up the results.. again..i dunno how ur changing the rpm so i cant say much.. but try to run your simulation for nTime steps, then update files, and then restart the solver.. if it works then it might be a delay/lag issue :D

ebah6 March 8, 2012 16:44

Thanks Mauricio,

I suspect that my issues are related to the boundary conditions but I need a way to make sure of that.
For example, check these outputs:
------------- this is the step before it fails -----------------------------
solidBodyMotionFunctions::rotatingMotion::transfor mation(): Time = 0.0023389 transformation: ((0 0 0) (1 (0 0 3.17183e-08)))
AMI: Creating addressing and weights between 80 source faces and 80 target faces
AMI: Patch source weights min/max/average = 0.999999, 1, 1
AMI: Patch target weights min/max/average = 0.999999, 1, 1
smoothSolver: Solving for Ux, Initial residual = 0.000945978, Final residual = 9.89704e-08, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 0.0010821, Final residual = 1.27872e-07, No Iterations 2
GAMG: Solving for p, Initial residual = 0.00267886, Final residual = 1.42988e-05, No Iterations 3
time step continuity errors : sum local = 5.04193e-09, global = 3.83974e-09, cumulative = 3.83974e-09
GAMG: Solving for p, Initial residual = 0.000238145, Final residual = 7.40074e-07, No Iterations 5
time step continuity errors : sum local = 3.89645e-09, global = 3.83974e-09, cumulative = 7.67948e-09
ExecutionTime = 0.22 s ClockTime = 0 s

--------------------------this is step in which it fails. -----------------
solidBodyMotionFunctions::rotatingMotion::transfor mation(): Time = 0.00234125 transformation: ((0 0 0) (1 (0 0 3.21996e-08)))
AMI: Creating addressing and weights between 80 source faces and 80 target faces
AMI: Patch source weights min/max/average = 8.08536e-07, 1, 0.9625
AMI: Patch target weights min/max/average = 0, 1, 0.9625
#0 Foam::error::printStack(Foam::Ostream&) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/home/alpha/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
-----------------------------------------

Now I wonder the following:
1) Are the "time step continuity errors" always printed out whether or not there is a problem?
2) If not, how to tell when there is a problem?
3) In my case, after looking at other threads, I feel like there might be a division by zero or an operation involving NaNs. So how do locate where in my domain this happening?

Thank you all.

calim_cfd March 8, 2012 17:21

this seems to be where the problem is...
Code:

AMI: Patch source weights min/max/average = 8.08536e-07, 1, 0.9625
AMI: Patch target weights min/max/average = 0, 1, 0.9625

as you've noticed already..

wierd thing.. it seems somehow the code lost its reference between source and target neighboring cells with the min value 0f 0 or >>0

1) Are the "time step continuity errors" always printed out whether or not there is a problem?
simulation always continues until a numeric error is found, cuz if the physics is qualitatively right the code runs. Then if a numeric error is found you'll the type of crash you're experiencing..

2) If not, how to tell when there is a problem?
you can't foresee errors unless it's on purpose

3) In my case, after looking at other threads, I feel like there might be a division by zero or an operation involving NaNs. So how do locate where in my domain this happening.

in this particular case the error msm is vague so it's hard to tell.. i guess the person carrying out the simulation is the best to debugg it, most of the times

there's this one thing thou.. if you're script/code is running fine, then it might have sth to do with the patch type you're using.. AMI.. i read somewhere AMI has some bugs, since it's the first version.. but they say it's better debugged in version 2.1.x (http://www.openfoam.org/download/git.php) try installing this one and running the code again :rolleyes:

ebah6 March 9, 2012 21:23

Hello Mauricio,

I downloaded the OpenFOAM-2.1.x but as of now my woes remain.
Would you know which of the earlier versions of OpenFoam deals better with rotating machine such as wind turbines.

Also, as we discussed earlier, the problem is likely to be coming from the AMI.
My question: could this becoming originally from boundary conditions that would then affect the rotating part(s).
So what kind of boundary conditions (particularly the outflow) do you think suits better?

Sorry if this sound nonsense.

Best regards.

calim_cfd March 10, 2012 11:28

hi ebah6!

about the cyclic patches.. i guess OF 1.6 or 1.7 has a patch named cyclicGgi which is somewhat the old AMI.. you may look up that in the forums..

about the error.. i'm not home now..it will b 3days till i get to my pc.. so atm i cannot make some tests but i guess you could try the pair at the outlet
Code:

pressureInletOutletVelocity for U
 totalPressure for p

should make things stable

Code:

My question: could this becoming originally from boundary conditions that would then affect the rotating part(s).
i guess it depends on your bcs.. and how close your bcs are to the patches that are being handled with AMI/Ggi and how are far/close are these patches to the end of your domain

dogan May 13, 2013 09:01

Hi all,

i am working on a transient pump simulation, and i am getting a floating point exception. My geometry has a rotating part and a stationary part and between them, i have two cyclicGgi interfaces. I am using OF1.6 ext, and pimpleDyMFoam as the solver. My simulation starts to run, it runs until for a while, then it crashes with the floating point exception error message. I have tried almost everything, but i couldn't solve the problem. Now i am worried about that if i am doing something wrong about the mesh manipulating steps. or in general, can someone summarize me which steps do i have to follow before i start with the transient simulation?

thanks in advance

Dogan

Metikurke November 1, 2017 05:58

Hi, I am also having the same problem while using pimpleDyMFoam, It would be nice if you can share the procedure if the problem has been solved. Thank you.

Quote:

Originally Posted by dogan (Post 427183)
Hi all,

i am working on a transient pump simulation, and i am getting a floating point exception. My geometry has a rotating part and a stationary part and between them, i have two cyclicGgi interfaces. I am using OF1.6 ext, and pimpleDyMFoam as the solver. My simulation starts to run, it runs until for a while, then it crashes with the floating point exception error message. I have tried almost everything, but i couldn't solve the problem. Now i am worried about that if i am doing something wrong about the mesh manipulating steps. or in general, can someone summarize me which steps do i have to follow before i start with the transient simulation?

thanks in advance

Dogan



All times are GMT -4. The time now is 11:21.