CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Dynamic mesh & Negative volume in 3D (

mahzironrazak October 6, 2009 15:15

Dynamic mesh & Negative volume in 3D
Hi All :)

I am trying to simulate 3D flapping wing using fluent and i keep getting negative volume when i run the mesh motion. I used smoothing and remeshing. I have reduce the time step and still it didnt work. I also changed the remeshing parameters but no go. I read that for dynamic mesh "the translation in one time step should not be more than half the cell size adjacent to the moving boundary". what does that means? How can i get the cell size adjacent to the moving boundary? By the way how do i determine the correct value for dynamic mesh parameters :

1) Minimum length scale
2) Maximum length scale
3) Adjacent zone cell height

I used the data from mesh scale info (button)

Will increasing the density of the grid reduces the possibility of getting negative volume.


herntan October 6, 2009 22:46

I think the Fluent guide also suggest you using the data from mesh scale info.

The Adjacent zone cell height should be the value of ur meshing size.
I not familiar with remeshing. But for layering, it means the meshing layer size.
For example i mesh the volume with 0.5mm mesh size, i will put either 0.5mm or smaller for Adjacent zone cell height.

mahzironrazak October 7, 2009 04:35

Hi Herntan

Thanks for the info. I should try it.

DarrenC March 4, 2010 04:18

Hi Mazhironrazak,

Have you managed to get this to work yet? I am doing something similar as you but it always displayes negative cells after 7 iterations


mrestrepo30 March 4, 2010 14:33

First of all what type of mesh do you have? structured or unstructured? depending on that you have to set up the smoothing and remeshing parameters (remeshing doesn't work for structured 3D).

How are you defining you dynamic mesh zones? because if you are displacing the wing, you need to set the adjacent zones to deforming so they can move along.

Basically what happens, is that you cannot move your boundary more than half the size of the cell next to the moving boundary. To correct this you can decrease the time step size so the displacements are smaller and you don' get negative volumes. To get the cell size next to the boundary, one thing you could do is load your mesh to a software package such as Tecplot, and there measure your cell size and then compare it to your displacement. However I think you can play around with the time step size first.

The values for the dynamic mesh parameters are obtained from the mesh scale info for each zone.

Finally, increasing the density of the grid will indeed increase the posibility of getting negative volumes if you don't change your time step size.

meb March 5, 2010 13:02

Take a look here:

I'm trying to solve the same problem using RBF

I can try to set-up the problem for your geometry...

DarrenC March 7, 2010 20:35

Hi there mrestrepo30 & meb

Thanks for your replies. My mesh is a Hybrid structured/unstructured mesh. Its a 3D extruded NACA0012 airfoil with structured (hex) elements for the boundary layer and unstructured (tri/tetra) elements on the rest of the farfield. Both mesh are joined together on an interface interior wall using pyramid elements.

As far as dynamic meshing is concerned, I use smoothing and remeshing. I set the structured mesh volume and its surrounding surface meshes to move with the airfoil (pitch up motion at quarter chord) ) so no remeshing will be done on them.

As for the remeshing/smoothing parameters, I am actually using grid default values for remeshing except I change remesh interval from 5 to 1. For smoothing, I use 0 for my spring constant, 0.001 for convergence tol, and 50 for no. of iterations.

I basically got these values from the same kind of simulation I did in 2D.

From what I can see, from tagging the negative volume elements after the dynamic meshing failed, all of the negative volumes were on the pyramid elements on the trailing edge of the wing. Ive tried to half my time step but it is still happening. Perhaps ill try something even smaller.

The other thing I am not sure about is if remeshing actually works on pyramid elements. Anyone have any idea?

MEB, your project looks very interesting. You mentioned that there is an addon for Fluent. I currently use a Fluent educational license from my uni. Is it possible to obtain the addon just with the educational license itself, or do I have to obtain a separate one? I would really like to investigate the potential of your project.

Thanks again for the help


meb March 8, 2010 05:02

you can do it with RBF Morph
you can definitely do the job with RBF Morph. Contact for details about an extended trial (usually it's 30 days but we can release a 90 days free license for Universities).
A similar problem has been faced in the past for a very complex geometry (take a look to attached image). Using RBF Morph smoothing only you can rotate the rear flap in the range +/- 6deg (that becomes +/-8deg if you enable also the remeshing).
Meanwhile if you can send the Fluent case and the desired flapping motion I will post a preview of RBF Morph results in this thread.


mrestrepo30 March 8, 2010 12:35


I think remeshing works on unstructured mesh, however I've found that the effect of smoothing is more significant than that of remeshing.

What you can do is play around with the spring constant (I usually use 0.5). Also check that the adjacent zones to the deforming zone are set as "deforming" so that the dynamic mesh parameters can be implemented on them, and change the zone parameters for each zone so that both the smoothing and remeshing work better.

Also type on the main screen:
/define/models/dynamic-mesh-controls/smoothing-parameter> soas
spring-based smoothing for all cell types [no] yes

and here you can activate the spring on all the elements, and this will make the smoothing work on your grid.

Hope that works!

DarrenC March 8, 2010 19:39

Hi mrestrepo30,

As my airfoil movement is very large (14 degree pitch at the quarter chord) I dont think smoothing will heavily influence my mesh. Probably only at the initial pitch as Fluent UG states that smoothing is only good at small movements if used alone.

Another thing I have found out is that remeshing only work on tri/tetra elements and that is where my problem is, as I have pyramid elements on my unstructured mesh.

I will continue to try and play around with the remeshing/smoothing parameter and see what happens but I doubt it will change much as remeshing is not supported for pyramid elements.

As for MEB, thanks for your reply. Do you have an email account that I can send my case file to you? Thanks.

Chin Kiat See

meb March 9, 2010 05:41

smoothing and remeshing
Yes remeshing can be enabled only on tetra; however even for hybrid mesh (prisms layers+hexcore+tetra transition) some remeshing can be beneficial to fix some distorted cells that usually are in the transition layer.
The spring model that comes with fluent is very fast but has poor performances. I did a benchmark for a cube (the same used in this tutorial, in the case of 1m translation) obtaining similar results using RBF and pseudosolid with a mesh quality loss that was about 50% lower with respect to fluent spring model.

enry July 19, 2010 06:33

Hi DarrenC.
How do u solve your problem? I'm studying a vertical axis wind turbine, and I have to move a little the blades of my turbine. I can move them without any problem with 2D mesh. When I try to move the blades with a 3D mesh, I have negative volume. How do you solve your problem? It seems that spring constant factor don't work well in 3D model. What do u think?
Thanks in advance.

DarrenC July 19, 2010 19:55

Hi enry,

Try doing a plot of where the negative volumes are. There is a function in Fluent (i think its called iso-value) that will allow you to do this. For me it was between the volume mesh and the end surface mesh in the spanwise directions. I found out that I was not remeshing the surface of this mesh and only its volume, hence I was getting negative volumes after a certain amount of pitch. So you'll probably need to set both the end surfaces to dynamic meshing as well. Hope this helps


enry July 20, 2010 02:34

Hi DarrenC, thanks a lot for your reply.
I tried , as exercise, to build a box and I tried to move the "floor" of the box. The problem is that the mesh inside the box don't move, and so when the "floor" go up, fluent give me negative volume. How should I set the moving condition? I want to use only a spring based movement, without remeshing, because the movement is quite small.
I tried as follows:
-UDF for the "floor"
-DEFORMING for the interior fluid

Should I set some condition on the lateral face?
Thanks in advance.

enry July 20, 2010 03:14

I found an error; moving mesh don't work with "cooper" gambit scheme; i tried to mesh the end of box with tri-elements, and mesh the entire box as "cooper", but fluent can't move as spring based the domain.
If I mesh the lateral face as tri-map-split, up and down as tri-elements, and the volume as Tet-Hybrid-tgri, mesh motion work well.
How can I use mesh motion with cooper scheme?
Thanks a lot!!!
ps. I use gambit to build my mesh.

DarrenC July 20, 2010 03:15

I think what you would need here is face deformation of the four vertical faces of your box. Then you would need volume deformation as you have done. Your roof shoud be rigid bodies and you floor should be rigid body with a prescribed motion which you will use udf to define. Hope this helps

DarrenC July 20, 2010 03:28

Im afraid i wont be able to help you as I dont use the cooper mesh at all. In fact I only use ICEM to build all my meshes.


enry July 20, 2010 04:18

Ok, don't worry.
Thanks ;)

enry July 20, 2010 09:31

I solved the problem. In case somebody is interested:
-UDF for the moving surface
-DEFORMING with re-meshing for fluid around moving surface
-DEFORMING with re-meshing for surface that is moving with fluid (i.e. re-meshing for surface that will be deformed because of moving surface)
-spring constant factor 0
-boundary node relaxation 1
-if there is a boundary layer, define a fluid-zone for the boundary layer, mesh it with map scheme, and in FLUENT define that fluid-zone as DEFORMING without re-meshing
-enable spring-on-all-shapes through the following command line: define models dynamic-mesh-controls smoothing-parameter spring-on-all-shapes yes

Bye. :cool:

almostafa67 August 5, 2010 09:58

update-dynamic-mesh failed. negative cell volume detected.
hi dear all...
i have this problem as you;i changed time step from 0.0001 to 0.00001 but again this message(update-dynamic-mesh failed. negative cell volume detected.) showed up,could u help me out plz?
thank u in advance for any help provided:)

All times are GMT -4. The time now is 00:55.