View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001150 | OpenFOAM | Bug | public | 2014-02-06 10:35 | 2014-02-06 11:35 |
Reporter | Assigned To | henry | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | OpenSUSE | OS Version | 12.3 |
Summary | 0001150: EigenVectors of diagonal tensor are qrong | ||||
Description | The 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 Reproduce | Insert the above code snip anywhere, and run. | ||||
Additional Information | Line 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. | ||||
Tags | No tags attached. | ||||