Topics relate to Fluent, CFX, Turbogrid and more

Ansys Fluent’s GPU Solver uses RNG to converge?

    • Tommaso Sabìa

      While testing out Fluent's recent addition of native GPU solver on a DrivAer case on my 23R1 version, I noticed a very worrying behavior: besides giving different results from the same case run on CPU, it also gives different results when running the exact same case multiple times!


      To test this, I setup a simple journal that loads the exact same case (same mesh, same boundary conditions, same numerical settings) and runs it twice, always initializing it with standard initialization before calculating.


      The result is worrysome: different solutions are obtained!




      Just to double check, I ran the exact same test with the conventional CPU solver. Same settings, same scheme (SIMPLE). As expected, the results were exactly the same down to the last decimal figure.



      In fact, one other thing that I noticed is that the solver is really only stable with the default values: modifying even by the slightest amount the under-relaxation factors easily makes the solution explode, as if the solver has been tuned with an amount of unphysical correcting factors for the default case just to make the math work. This of course does not happen with the CPU solver, which is usually very accomodating when it comes to aggressive URFs, provided that the used mesh is of sufficiently good quality.


      I don't know what is going on here and I'd really appreciate some input as to what I could do to fix this, but for now I'm very worried. I surely cannot trust the results of a solver that outputs different numbers everytime it is run.



      Some info about this simulation for context:

      Mesh: poly-hexcore, 6.2 million elements, minimum orthogonal quality 0.16;

      GPUs: 2 (1x RTX 3070, 1x 3060Ti)

      Simulation: steady state, k-omega SST, SIMPLE, default URFs, 2nd order upwind schemes, pressure-based incompressible flow.

    • Tommaso Sabìa
    • Luca B.
      Ansys Employee

      Hi, our GPU solver has been tested and validated with several benchmark cases so I am confident on the consistence of results.

      What are you monitoring? Are you cheching the Drag on a specific surface. Can you monitor the final value, at conercence instead of itereration evolution.

      Are you experience such behavior also with other casese? Can you check with the lastest version 23R2 if it happens again?




Viewing 2 reply threads
  • You must be logged in to reply to this topic.