CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

zero and complex eigenvalues in symmTensor

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   June 16, 2010, 08:37
Default zero and complex eigenvalues in symmTensor
  #1
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi all

When I am trying to run my case with

Code:
gradSchemes
{
     default         cellLimited fourth 1;
}
in stead of


Code:
gradSchemes
{
     default         Gauss linear;
}
i get the following error:

Code:
zero and complex eigenvalues in symmTensor: (2 2.80132e-09 3.74154e-24 2 -5.74733e-16 2.09154e-31)

    From function eigenValues(const symmTensor&)
    in file primitives/tensor/tensor.C at line 331.

FOAM aborting

Aborted
I have also tried without the limiting functionality and it appears that using a non-Gauss schemes causes a crash. Further, I have tried setting this scheme on the individual gradient terms one by one and they all produce the above error. Is it mesh related?

Any help or suggestions are highly appreciated.

Best regards,

Niels

P.S. I have cut down the problem to a bucket of water solved using interFoam. The 'bucket' has a sloping bed penetrating the water surface and the problem persists.
ngj is offline   Reply With Quote

Old   June 16, 2010, 10:52
Default
  #2
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi

A small update on this. I have a case, where the bed i moving, however it does not start moving until t = 10s. Everything runs smoothly until t = 10s, where the simulation aborts with the above error message.

Does this not suggest that it is mesh related? But how?

Best regards,

Niels
ngj is offline   Reply With Quote

Old   June 16, 2010, 15:01
Default
  #3
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
Which version are you using? Is it OF-dev?
You may be facing a situation where the symmTensor inverse is ill-behaved (in which case, the hinv function may be necessary). The fourth-order least-squares gradient uses this information.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   June 16, 2010, 15:37
Default
  #4
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi Sandeep,

Thanks for your reply. Yes, I am using 1.5-dev.

I follow as far that the symmTensor is ill-behaved, however could you help me understand from what information the symmTensor is constructed?

I suppose I then need to change a couple of lines the appropriate places and recompile to use hinv?

Best regards,

Niels
ngj is offline   Reply With Quote

Old   June 16, 2010, 15:44
Default
  #5
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
I assume this is a moving-mesh simulation? How does the cell-skewness look?
OF-dev already uses hinv, so that may not be the problem.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   June 16, 2010, 16:25
Default
  #6
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi

The maximum skewness is 0.013, however the maximum high aspect ratio is 3100, which I know is quite high (boundary layer resolved). Could this cause the problem? Otherwise the mesh is hex-structured.

It is a moving mesh simulation with wave generation, however I turned everything off and merely has a computation of the static pressure field, and the error still occurs.

Best regards,

Niels
ngj is offline   Reply With Quote

Old   June 17, 2010, 14:09
Default
  #7
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi

To follow up on my problem, I have isolated the problem. The eigenvalue problem solved using Matlab gives the eigenvalues:

Code:
        4.39949893555e-32
        1.99999999719868
        2.00000000280132
however following the methods implemented in OF both yields

Code:
        0
        2
        2
using those results obtained if if-sentences on the lines 320 and 344 in OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/primitives/tensor/tensor.C is evaluated. However they are not evaluated to true, as in this specific case

line 316:
Code:
if (mag(c) < 1e-100) // as mag(c) = 1.5e-30
and line 344
Code:
if (R2 < Q3) // as R2 == Q3
This means that the limits in the eigenvalue evaluation causes the problems. Tomorrow I will try changing any of the limits and see if things change, however any qualified suggestions are appreciated.

For the record: The test case is 2D and the problem persist in both 32 and 64 bit. The eigenvector related to the zero eigenvalue is in the direction of the empty-direction.

Thanks for the attention,

Niels
ngj is offline   Reply With Quote

Old   January 5, 2011, 17:12
Default
  #8
Senior Member
 
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 127
Rep Power: 7
tcarrigan is on a distinguished road
Hi Niels,

I ended up getting the same error you did: zero and complex eigenvalues in symmTensor...

My case is very simple, turbulent flow over a flat plate. After noticing your concern about a possible high aspect ratio issue, I decided to to do a little experiment. My original case that gave me an error had a maximum aspect ratio of 16,000. After reducing the aspect ratio to about 1000, the error went away and the case ran normally.

I've had issues in the past using OpenFOAM with high aspect ratio anisotropic tet elements in the boundary layer, but so far haven't come across a case that complains about high aspect ratio structured elements of this quality. It just seems that for a flow such as mine, where all the cells are perfectly orthogonal and flow aligned, the aspect ratio should not cause any issues.

Back to your original post. Have you solved the problem yet? Or come up with your own workaround?
tcarrigan is offline   Reply With Quote

Old   January 6, 2011, 05:09
Default
  #9
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
Hi Travis

My experience was that it was related to the solution of the eigenvalue problem and it is only a problem for 2D-computations. Do you experience the same?

I have not had the problem since I switched to cellMDLimited instead of cellLimited.

Hope it helps,

Niels
ngj is offline   Reply With Quote

Old   January 6, 2011, 05:11
Default
  #10
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,609
Rep Power: 25
ngj will become famous soon enoughngj will become famous soon enough
B.T.W: The solution of the eigenvalue problem using the routine in 1.5-dev is the source of the problem, as switching to the previous version, which also floats around in 1.5.x remove the problem.

Bests

Niels
ngj is offline   Reply With Quote

Old   January 24, 2011, 01:46
Default
  #11
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 369
Rep Power: 12
cnsidero is on a distinguished road
Niels,

I've run into the same problem as you in 1.6-ext running pimpleDyMFoam in 2D. It appears this issue is still there but I don't know the full consequences of adjusting the eigenvalue limits so I didn't change it (I also don't know what value to change it to). Interestingly, the same mesh had no issues with simpleFoam and MRFSimpleFoam.

I just re-extruded my grid in the third dimension so the aspect ratios were below a 1000 (max = 200 actually). I suppose it isn't a big deal to make sure the aspect ratio is below a 1000 when extruding in the third dimension but it's a lot nicer to work with it in the pre-processor because the patches are physically bigger and easier to select :-P

-Chris
cnsidero is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 21:29.