CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   why solver does not accept negative volume mesh? (

michael January 20, 2007 07:29

why solver does not accept negative volume mesh?
I have on query that why solver will not accept negative volume? Is the flux will become negative and so ? or another reason?

ag January 21, 2007 20:27

Re: why solver does not accept negative volume mes
Negative volumes are non-physical and represent a bad grid.

michael January 22, 2007 00:34

Re: why solver does not accept negative volume mes
but what is the effect on solver? i mean why solver has problem to accept negative volume grid? Is it due to convetion or diffusin term claulation going bad or another thing?

jsteadman January 22, 2007 02:19

Re: why solver does not accept negative volume mes
I am anther question,why there is negetive volume exist? I know is mainly because of the poor quality of grid, but I really want to know where are they come from?

matej January 22, 2007 03:47

Re: why solver does not accept negative volume mes
great question!

negative volumes are created by automatic mesher, or by user mistake. It depends on the method and software you use. For example in ICEM i never run into problems with negative volumes using any of the mesh generating approaches. But I guess it's because the mesher allways crashes when he run into neg.vol.When the nodes of the mesh are propagating, or are fiddled around and the algorithm is carefull with volumes, i guess it may happen. In STAR-CD - when trying to hand-smooth the mesh, I've ran into negative volume creation from time to time. The mesher should check for negative volumes and the clever ones does not allow you to export the mesh to solver. In the same way the solver usually check prior to the solver run for negative volumes and stops if it finds one. I'm not really meshing expert.

now to your first question - why.

it is really that simple - it is not physical. And if were to write the code, I would check for neg. vol. at the beginning and halt the computation. (a) you want the computation to by physical(b)from the math side (only if we extend our imagination for negative space, can you do that?) - you have a problem with definition of the surfaces too, as the code integrates fluxes on surfaces, suddenly you may have flux which is mirrored on the surface of a negative cell, as the normal of the surface is heading the oposite way than it should. there might be lot of other reasons, but they're pretty useless.


Hrvoje Jasak January 22, 2007 07:31

Re: why solver does not accept negative volume mes
If you want real precision on this, it is the diffusion term and source/sink that will make your code blow up.

Sources and sinks will effectively have their sign changed, which totally messes up the physical behaviour of the equation. For example, if you switch the sign of rhs in turbulence equations, you will get turbulence "decay" to infinity instead of zero.

In case there's no sources, you will blow up the Laplacian. Negative volume has the sam eeffect as negative diffusivity: all smooth profiles are converted into delta-functions. In other words: kaboooom! :)

The last thing you need to worry about are the face interpolation factors: they should be between 0 and 1. In inverted geometries with negative volumes, they will be outside the range, which means that (for example) you can have phi_left and phi_right bounded but the interpolate will be out of bounds. Here, you will again produce non-physical and unbounded values for physical variables, e.g. k < 0 which will blow up the code pretty quickly.



Renato. January 22, 2007 07:51

Re: why solver does not accept negative volume mes
Negative volume is simply a grid problem that will interfere in your computation giving wrong terms. Most of the discrete method follow some kind of standard when computing their matrices and vectors from the discrete domain. If you don't follow this "standard" you'll surely interfere in how these matrices and vetors are being built. Here is the problem. You'll be solving your problem with a bad constructed system of equation.

BTW, in Finite Element Method we have to compute area and volume integration in an element level. For example, for a tetrahedron we compute 6 x volume by:

V6 = x21 * (z31 * y14 - y31 * z14) + x31 * (z12 * y14 - y12 * z14) + x41 * (z12 * y31 - y12 * z31)

and the element conectivity must be counter clockwise (nodes 1-2-3-4) or you will get negative volume (conectivity 1-3-2-4). In this case, it's very easy to solve the negative volume. Just fix the conectivity to give you a positive volume. Of course, you can also have negative volume from distorted elements. In these cases you need to fix the mesh in your mesher by doing some king of smoothing technique or fixing by hand.

Hope it helps in anything


michael January 22, 2007 08:37

Re: why solver does not accept negative volume mes
Thanks Reanato, Hrvoje Jasak, matej, jsteadman, ag

Ionut Popescu January 31, 2007 21:37

Re: why solver does not accept negative volume
Hi ! That's a good question.... Hmmmmm Let's take the one dimensional rod and try to solve a heat equation. If you sweep the domain from left to right or right to left you should get the same answer as long as you are consistent with the sweeping and nodes numerotation... Now if you reverse the nodes at one element ("negative volume" in 1 D) you will have your finite difference scheme (let's say an UD 1st order) mixing up the nodes at the "negative volume" 1D element producing some really odd results.... It's interesting to see is there is some condition when the solution is still acceptable ?

All times are GMT -4. The time now is 19:24.