"Index, Dimension 1, above upper bounds" type error

Hi, Jeff. I have the following questions regarding the defects and holes of generated boundary mesh:

  1. In some cases, it is hard to eliminate all of the defects and holes for the generated boundary meshes no matter what sets of cut-cell method parameters are selected, and at the same time, the simulation can keep running and converging for a period of time. I want to know whether it can continue run in the long term and how small should the defects and holes be so that they can be negligible in the sense of either thoery and algorithms.

  2. Whether there exists principles to guide settings of the parameters of meshing to enable the non-existence of any defects and holes?

Thank you in advance.

  1. This is a general CFD question. The mesh quality always has an influence on the results and convergence of any CFD code. You have to find a tradeoff so the mesh is acceptable. Sometimes this means having to simplify the geometry.
  2. First, I clean the stl file (remove duplicates, check the normal orientation). For the meshing part, I always start with default tolerance values, then I inspect the mesh. If there are bad cells (holes, poorly resolved intersections), I increase the snapping tolerance, and play with the dot product tolerance (increase or decrease by one order of magnitude) to see if it helps. Then if I see some small cut cells, I increase the small cell tolerance to see if I can remove them. Sometimes the grid spacing needs to be adjusted as well. Meshing is an integral part of the CFD workflow that is often neglected, but requires some time and experience to get familiar with.
1 Like

Thank you Jeff, I have some questions regarding your following answers.

Why it is necessary to remove the “duplicates” considering that they are not actually duplicate and just so close to be regarded the same with tolerance of specific merge distance? How to define the cleanest using data analysis instead of distinguishing with raw eyes? What is the relation between fewer elongated triangle and removing duplicates? How to define the bad triangles? Whether there exists another way to divide the elongated triangles to small sub-triangles? I have tried to merge by distance and seen all of entities decrease as I increased the merge distance. If it is a trade-off to remove “duplicates” while reserve more details, whether we can remove only the local “duplicates” and how to do that in Blender?

Thank you in advance.

When two vertices are very close to each other, they automatically create small or elongated triangles. Merging them will get rid of these triangles. If vertices are actual duplicates, then you could have a folded geometry or singularities that will make processing the STL file difficult. If you want to do this in Blender, please look for Blender tutorials or Blender forums to learn more about geometry cleanup.

Hi Charles, I simulated the TFM project of model inclined 30 degree for gravity and inlet mass flow rate of 0.13g/s and when it reaches around 0.03s, it failed as follows. How can I make it converge? Thank you.


And how to distinguish the project would converge with a period of simulation time? Can I determine that it would converge with 0.05s or at least 0.1s results?

Hi Ju. I’m not sure exactly what the problem is, but I think you need to figure out why that velocity is so high. That CHECK_VEL_BOUND message refers to a cell index but it might be better if we reported the x/y/z coordinates.

For convergence problems in general, have you read https://mfix.netl.doe.gov/doc/mfix/21.3/html/reference/faq.html#what-do-i-do-if-a-run-does-not-converge ?

Thank you Charles, I have used another commercial CFD software and it is reasonable that around nozzles the velocity of gas would be as high as 600m/s in some time. How can I increase the velociy bounds?

Or whether the only solution is to fix the simulation interval and keep that as small as 1e-5? Thank you.

Hi Charles, this time I simulated a new task with the same project as that incurred the problems. And the following similar “floating point” error happened as well at around 0.09s instead of 0.02s before.

How can I fix that? Thank you.