View Issue Details

IDProjectCategoryView StatusLast Update
0001150OpenFOAMBugpublic2014-02-06 11:35
Reporteruser635Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSOpenSUSEOS Version12.3
Summary0001150: EigenVectors of diagonal tensor are qrong
DescriptionThe code:

Info << eigenVectors( pTraits<symmTensor>::I )

gives the output:

(0 0 0 0 0 0 0 0 0).

Expected output:

(1 0 0 0 1 0 0 0 1)

Steps To ReproduceInsert the above code snip anywhere, and run.
Additional InformationLine 434 of ./src//OpenFOAM/primitives/Tensor/tensor/tensor.C is:

if (magSd0 > magSd1 && magSd0 > magSd2 && magSd0 > SMALL)

In this case, magSd0 and magSd1 and magSd0 are all equal to 1, so the if statement drops to the final else, which returns vector::zero.

Lines 434, 446 and 458 of this file need to accomodate the case where the sub-determinants are equal, i.e. by using >= rarther than >.

This will need similarly changing for a tensor argument as opposed to symmTensor.

TagsNo tags attached.

Activities

henry

2014-02-06 11:35

manager   ~0002811

Thanks for the report,
resolved by commit 7721d77fced2cd36943431e1c3a4fdee2eeaed80

Issue History

Date Modified Username Field Change
2014-02-06 10:35 user635 New Issue
2014-02-06 11:35 henry Note Added: 0002811
2014-02-06 11:35 henry Status new => resolved
2014-02-06 11:35 henry Resolution open => fixed
2014-02-06 11:35 henry Assigned To => henry