64bit error compiling UDF : divergence detected
I need your help to solve the error in FLUENT.
I simulated heat transfer of thermoelectric module compiling UDF(using C++) in FLUENT 12.0 and 32bit windows XP.
(This simulation exists NO fluid.) This simulation was succeed.
After that, I simulated the simulation again using "same" boundary condition and setup in FLUENT 12.1 and 64bit windows XP, but error message occured without one calculation!
This error message said that " Divergence detected in AMG solver : temperature" , that can't be possible because both conditions are completely same !
Maybe this problems don't have root in my compiler.
I'm using Windows VS 2008 Express Version and SDK v7.0, and I started FLUENT from command prompt of SDK. Therefore, the compiler is recognized.
Of course, I desperately seeked FAQs about this problem and tried to reduce URF and change Advanced Solution control etc.
However, this error can't be solved.
Please tell me the solutions of this error or FAQs discribed solutions.
Thanks in advance.
It would be better if you show us the UDF. However, one thing that I doubt is if you are using F_T or fetching any such variable on a wall, it could the issue. Just try initializing your case before starting. It should do. Else, please paste the code
When I change setup, I always do initializing, but it can't be solved.
I can't show you the URF, sorry.
Because I signed the nondisclosure contract with my collaborator.
But he explained this error didn't relate contents of the code, and the fact is demonstrated by him.
In addition, some other FLUENT user reported similar problem, despite URF is different.
What should I consider ?
Is the simulation run using the serial or parallel solver? I have had similar issues when changing between these two (ran fine in serial, same error message in parallel). The issue was due a face loop which did not run over all the partitions. Just a thought..
That's alright if you've an NDA. However, did you check your case without UDF when you moved from version 12.0 32bit to 12.1 64bit? First check that and then start looking into UDF and by printing some intermediate values you can check the level down to which your UDF is working. Say, there are six procedures in your UDF. Just check up to which procedure does it go before it gives error.
If you're using parallel solver, then you will have to use predicates.
And I have never worked on Windows, so, I am not sure, however, that should not be an issue.
Thanks KristianEtienne and vinerm:)!
Simulation is always performed in serial solver.When I changed parallel solver, error message newly indicated "floating point exeption". Maybe I had better not change the solver.
Once I tried that simulation without compiling the URF and setup related the URF, so to speak, simply heat transfer. This simulation ran successful.
Therefore, it sure both of "64bit" and "URF" affect this error.
As everyone encourage to reduce the URF, and I tried that.
I changed 0.3~1(default) to 0.1~5 in all factors, but error isn't solved.
What parameter should I change? and what is value good ?
I finally solved this problem.
I hope you find it informative.
I set all user-scalar value to 0.01 (mainly "wall") in boundary condition, and it appeared when UDF was compiled and loaded.
This problem occured only 64bit fluent. I feel simulating in 64bit FLUENT must be avoided 0 in boundary condition as possible.
Thanks all members for advising me!!
i m also encounter the same problem...thank you for ur comment
|All times are GMT -4. The time now is 10:31.|