CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   CFX multiphase flow with poly-dispersed approach (https://www.cfd-online.com/Forums/cfx/221903-cfx-multiphase-flow-poly-dispersed-approach.html)

tsibel November 4, 2019 09:30

CFX multiphase flow with poly-dispersed approach
 
Hi everybody
I have started the boiling flow simulation (RPI model) in a rod bundle system. First I did it with the mono approach and I obtained convergence. After that, I have tried it with the poly-dispersed (iMUSIG) approach. But my simulations stop after some iterations (around 500 iterations) with this error: c_fpx_handler: Floating point exception: Invalid Operand.


What I have tried: different time scales (smaller), different turbulence models, coarser meshes, checking the BCs. But I could not prevent the error.


Do you have any recommendations?
Many thanks

ghorrocks November 4, 2019 16:11

FAQ: https://www.cfd-online.com/Wiki/Ansy...do_about_it.3F

tsibel November 8, 2019 04:52

Quote:

Originally Posted by ghorrocks (Post 748876)


Hi ghorrocks


Many thanks for the answer. However I tried everything which is written there. I am suspicious about the ANSYS version for the boiling flow and clusters communication. Because when I changed for example the partition on the clusters, the error comes after 1000 iteration. And this error occurs while my solution is converging. It just suddenly stops without diverging.


How can I handle it?


Thanks

Opaque November 8, 2019 09:07

Have you contacted ANSYS CFX support for suggestions?

The inhomogeneous MUSIG Wall Boiling model is not a trivial simulation, and you can benefit from their advice.


For the "Invalid Operand" message, I have taken some information from the GNU compiler floating-point exceptions document



Quote:

‘Invalid Operation’
This exception is raised if the given operands are invalid for the operation to be performed. Examples are (see IEEE 754, section 7):

Addition or subtraction: ∞ - ∞. (But ∞ + ∞ = ∞).
Multiplication: 0 · ∞.
Division: 0/0 or ∞/∞.
Remainder: x REM y, where y is zero or x is infinite.
Square root if the operand is less than zero. More generally, any mathematical function evaluated outside its domain produces this exception.
Conversion of a floating-point number to an integer or decimal string, when the number cannot be represented in the target format (due to overflow, infinity, or NaN).
Conversion of an unrecognizable input string.
Comparison via predicates involving < or >, when one or other of the operands is NaN. You can prevent this exception by using the unordered comparison functions instead; see FP Comparison Functions.

tsibel November 8, 2019 09:41

Quote:

Originally Posted by Opaque (Post 749258)
Have you contacted ANSYS CFX support for suggestions?

The inhomogeneous MUSIG Wall Boiling model is not a trivial simulation, and you can benefit from their advice.


For the "Invalid Operand" message, I have taken some information from the GNU compiler floating-point exceptions document


Hi Opaque


I have not contacted with ANSYS support, I will try it.


I have already read those information. So that I tried almost everything. If the error came from one of these reasons, would it be done a peak before the error or and any divergence? In my case, it is just stopping while it is converging. And the another question is why the error is coming at different iterations when I change only the CPU in the clusters?



Note: I have already simulated mono dispersed flow without any error with the cluster.

Opaque November 8, 2019 09:51

If the model contains anything close to square roots, logarithms or inverse trigonometric functions or the like where the argument could be invalid, the solution can suddenly fails w/o warning.

Assume the solution is well behaved near the limit of the argument, but for some round off the argument becomes invalid, there is no smooth transition and the CPU will trigger the floating-point exception.

About the cluster, is it homogeneous, i.e. are all the CPU's are identical? Do you use the exact same number of partitions between simulations? Are you using memory settings in the command line? Are you running in double precision, or single precision?

Round-off is a function of the order of execution of the operations regardless of precision, but even more sensitive in single precision.

tsibel November 8, 2019 10:31

Quote:

Originally Posted by Opaque (Post 749266)
If the model contains anything close to square roots, logarithms or inverse trigonometric functions or the like where the argument could be invalid, the solution can suddenly fails w/o warning.

Assume the solution is well behaved near the limit of the argument, but for some round off the argument becomes invalid, there is no smooth transition and the CPU will trigger the floating-point exception.

About the cluster, is it homogeneous, i.e. are all the CPU's are identical? Do you use the exact same number of partitions between simulations? Are you using memory settings in the command line? Are you running in double precision, or single precision?

Round-off is a function of the order of execution of the operations regardless of precision, but even more sensitive in single precision.


First of all many thanks. I understood but how can I solve the problem? I have tried everything, anything comes to my mind more (if it comes from the model).


No all the CPUs are not identical. One Partition is consisted of only Intel 20-Core Xeon 2,4 GHz and the other one Intel 16-Core Xeon 2,3 GHz and Intel 8-Core Xeon 3,3 GHz.

Yes I am using same number of partitions between simulations. With double precision.


"Are you using memory settings in the command line?" What is this?


I have also heard that version difference of ANSYS also changes the simulation behaviour. Especially for ANSYS 19. They changed the void implementation mechanism to the first cell near the wall. Do you know something about it?

Gert-Jan November 8, 2019 17:06

My 50 cents: another thing you can try is a different partition method. Default is MeTis. Numerous other options are there to investigate. Not sure if it helps. Mostly it is a matter of phyiscs.
So, another 50 cents: Try to avoid the value 0 in various BC-settings, like volume fractions, number fractions, etc. 1e-5 for volume fraction is a limit I tend to use.

AtoHM November 11, 2019 01:09

Little addition to Gert-Jan's answer: you can also enforce minimum volume fractions inside the Domain under Domain Properties within the Material section.


All times are GMT -4. The time now is 06:37.