mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: surfaceInertia analytic eigendecomposition (fixes #1599)
- was missing cast to symmTensor
This commit is contained in:
committed by
Mark Olesen
parent
e3f681fa59
commit
9be1772e0c
@ -82,9 +82,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
J = f.inertia(pts, Cf, density);
|
||||
|
||||
vector eVal = eigenValues(J);
|
||||
vector eVal = eigenValues(symm(J));
|
||||
|
||||
tensor eVec = eigenVectors(J);
|
||||
tensor eVec = eigenVectors(symm(J));
|
||||
|
||||
Info<< nl << "Inertia tensor of test face " << J << nl
|
||||
<< "eigenValues (principal moments) " << eVal << nl
|
||||
@ -148,9 +148,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
momentOfInertia::massPropertiesSolid(pts, tetFaces, density, m, cM, J);
|
||||
|
||||
vector eVal = eigenValues(J);
|
||||
vector eVal = eigenValues(symm(J));
|
||||
|
||||
tensor eVec = eigenVectors(J);
|
||||
tensor eVec = eigenVectors(symm(J));
|
||||
|
||||
Info<< nl
|
||||
<< "Mass of tetrahedron " << m << nl
|
||||
@ -204,7 +204,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
tensor& J = mI[celli];
|
||||
|
||||
vector eVal = eigenValues(J);
|
||||
vector eVal = eigenValues(symm(J));
|
||||
|
||||
Info<< nl
|
||||
<< "Inertia tensor of cell " << celli << " " << J << nl
|
||||
@ -212,7 +212,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
J /= cmptMax(eVal);
|
||||
|
||||
tensor eVec = eigenVectors(J);
|
||||
tensor eVec = eigenVectors(symm(J));
|
||||
|
||||
Info<< "eigenVectors (principal axes, from normalised inertia) " << eVec
|
||||
<< endl;
|
||||
|
||||
@ -115,9 +115,9 @@ int main(int argc, char *argv[])
|
||||
<< "Negative mass detected, the surface may be inside-out." << endl;
|
||||
}
|
||||
|
||||
vector eVal = eigenValues(J);
|
||||
vector eVal = eigenValues(symm(J));
|
||||
|
||||
tensor eVec = eigenVectors(J);
|
||||
tensor eVec = eigenVectors(symm(J));
|
||||
|
||||
label pertI = 0;
|
||||
|
||||
@ -133,9 +133,9 @@ int main(int argc, char *argv[])
|
||||
J.yy() *= 1.0 + SMALL*rand.sample01<scalar>();
|
||||
J.zz() *= 1.0 + SMALL*rand.sample01<scalar>();
|
||||
|
||||
eVal = eigenValues(J);
|
||||
eVal = eigenValues(symm(J));
|
||||
|
||||
eVec = eigenVectors(J);
|
||||
eVec = eigenVectors(symm(J));
|
||||
|
||||
pertI++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user