We have an exciting announcement about badges coming in May 2025. Until then, we will temporarily stop issuing new badges for course completions and certifications. However, all completions will be recorded and fulfilled after May 2025.
Fluids

Fluids

Topics related to Fluent, CFX, Turbogrid and more.

Divergence (possibly) caused by automatic mesh refinement

    • marc.goldbach
      Subscriber

      Hi,

      I am running a VOF simulation where the free surface is refined using automatic mesh refinement, but the simulation is suddenly diverging after about 1000 iterations.  When inspecting the results after divergence, I see no obious signs of high velocities, residuals, etc.  I have noticed that the original mesh had a minimum orthogonal quality of > 0.1, but when checking the mesh after divergence, the minimum orthogonal quality is ~0.03, eventhough I specify a minimum quality of 0.1 in the automatic mesh settings

      Original mesh quality check using Fluent meshing:

      ----------------------------------------

      Cell Quality [Measure : Orthogonal]

      Minimum = 0.10208334, Maximum = 1, Average = 0.95636215.

       

      Marking Cells in Range (0.10208334 0.15208334)...

      Info: Total marked entities in the range is 252, is limited to 15 by max number of allowable cell clusters (10).

      --------------- ----------

       

      Mesh quality after automatic mesh adaption and divergence:

      Minimum Orthogonal Quality =  3.18312e-02 cell 301147 on zone 19062 (ID: 14520292 on partition: 39) at location ( 5.99704e+00,  2.32079e+00,  9.54323e-01)

       

      Maximum Aspect Ratio =  1.05687e+02 cell 31803 on zone 19062 (ID: 21173019 on partition: 58) at location (-5.25139e+00,  5.40401e-03, -1.74540e+00)

       

      I checked the location of the poor quality cell, and it seems to be on the water surface in a very turbulent part of the domain.

      Any suggestions on how to correct?

      I have also tried with the "prismatic adaption" option selected, since my mesh does include solid boundaries with prism layers, but then I get an error after a while when the mesh is updating:

      eversed flow on 9748 faces of pressure-inlet 169.
         419  3.2815e-02  1.0527e-05  1.1973e-05  1.0660e-05  5.2760e-03  2.2468e-03  1.3402e-03 16:27:52 1428
      terminate called after throwing an instance of 'std::runtime_error'
        what():  
       ~~~~~~~~~~~~~~~~~ adapt::BaseMesh::initAnisotropyIndex ~~~~~~~~~~~~~~~~~ 
       Failed to find initial opposing face!
       Partition: 23
       Cell: 57430832 :: polyhedra
       n: 23 
       (
         15529381 :: [2.9153029462865616e+00 2.3716788569593583e+00 1.6824858095966990e+00] {0 0 0}
         80488568 :: [2.9106995584188318e+00 2.3745322681973411e+00 1.6805485417735193e+00] {1 1 0}
         80494791 :: [2.9061045061794402e+00 2.3658542722152580e+00 1.6786988298365557e+00] {1 1 0}
         80488567 :: [2.9152345834174480e+00 2.3657246637854894e+00 1.6824554668049947e+00] {1 1 0}
         15613312 :: [2.9159362300134335e+00 2.3716575584291846e+00 1.6810281321082341e+00] {0 0 0}
         80490989 :: [2.9113164176483997e+00 2.3745323495270014e+00 1.6790830094844111e+00] {1 1 0}
         15613311 :: [2.9066966052833663e+00 2.3774071406248183e+00 1.6771378868605882e+00] {0 0 0}
         15529382 :: [2.9060961705511019e+00 2.3773856794353234e+00 1.6786112739503398e+00] {0 0 0}
         80483965 :: [2.9158685012458170e+00 2.3657247741517073e+00 1.6809977345199560e+00] {1 1 0}
         80497194 :: [2.9067040720456472e+00 2.3658543707577904e+00 1.6772248331972825e+00] {1 1 0}
         80484233 :: [2.9015706020637895e+00 2.3746897130562958e+00 1.6768320751483961e+00] {1 1 0}
         15529378 :: [2.8970450335764766e+00 2.3719937466772683e+00 1.6750528763464525e+00] {0 0 0}
         80482367 :: [2.8973272284199449e+00 2.3719830136342814e+00 1.6743076450496202e+00] {1 0 1}
         15613309 :: [2.8976094232634138e+00 2.3719722805912951e+00 1.6735624137527880e+00] {0 0 0}
         80484232 :: [2.9021530142733898e+00 2.3746897106080569e+00 1.6753501503066881e+00] {1 1 0}
         80482368 :: [2.8969545548016358e+00 2.3660065670793218e+00 1.6750180659789646e+00] {1 1 0}
         80492263 :: [2.8972370967829035e+00 2.3660065940075339e+00 1.6742729815503528e+00] {1 1 1}
         80482366 :: [2.8975196387641713e+00 2.3660066209357464e+00 1.6735278971217413e+00] {1 1 0}
         15529384 :: [2.9151662205483344e+00 2.3597704706116205e+00 1.6824251240132906e+00] {0 0 0}
         80488570 :: [2.9106846554077928e+00 2.3570451476708385e+00 1.6805391448585016e+00] {1 1 0}
         15613313 :: [2.9158007724782009e+00 2.3597919898742297e+00 1.6809673369316780e+00] {0 0 0}
         91869905 :: [2.9109930734626674e+00 2.3570451804965211e+00 1.6798060974676075e+00] {1 1 1}
         80488838 :: [2.9113014915175417e+00 2.3570452133222037e+00 1.6790730500767130e+00] {1 1 0}
       ) {0 0 0} <0> [ Old Active Anisotropic ]
       f: 17 
       (...

      I am running a steady state simulation using the following:

    • Federico
      Ansys Employee

      Hello Marc, 

      can you also show your calcuation controls (from Solution tab > Run Calculation...)?

    • marc.goldbach
      Subscriber

    • Rob
      Forum Moderator

      The prism refinement is for inflation layers and generally assumes you split the whole layer; depending on the version you'll get an error/failure/warning if the end of the prism split isn't terminated at the "end" of a wall. Not something you want to use in this scenario. 

      Is the refinement/coarsening region being updated a lot? Ie is the adaption routine being triggered very frequently in that region? Can you post some images of the mesh?

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