functionObjects::cylindrical: Corrected normalisation of axes

Resolves bug report https://bugs.openfoam.org/view.php?id=4058
This commit is contained in:
Will Bainbridge
2024-02-28 10:40:41 +00:00
parent da16a1b0a9
commit 66835ba9a9
2 changed files with 6 additions and 11 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2020-2024 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -49,13 +49,12 @@ namespace functionObjects
Foam::tensor Foam::functionObjects::cylindrical::R(const vector& p) const
{
vector dir = p - origin_;
dir /= mag(dir) + vSmall;
const vector dir = normalised(p - origin_);
const vector axis = axis_/mag(axis_);
const vector axis = normalised(axis_);
const vector r = dir - (dir & axis)*axis;
return tensor(r, axis^r, axis);
return tensor(normalised(r), normalised(axis^r), axis);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -53,12 +53,8 @@ Foam::tensor Foam::cylindrical::R(const vector& p) const
// If the point is on the axis choose any radial direction
return axesRotation(axis, perpendicular(axis)).R();
}
else
{
return axesRotation(axis, dir).R();
}
return tensor(r, axis^r, axis);
return axesRotation(axis, dir).R();
}