mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: forces - corrected moment field calculation
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2019 OpenCFD Ltd.
|
Copyright (C) 2015-2020 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -530,17 +530,13 @@ void Foam::functionObjects::forces::addToFields
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
volVectorField& force =
|
auto& force = lookupObjectRef<volVectorField>(fieldName("force"));
|
||||||
lookupObjectRef<volVectorField>(fieldName("force"));
|
|
||||||
|
|
||||||
vectorField& pf = force.boundaryFieldRef()[patchi];
|
vectorField& pf = force.boundaryFieldRef()[patchi];
|
||||||
pf += fN + fT + fP;
|
pf += fN + fT + fP;
|
||||||
|
|
||||||
volVectorField& moment =
|
auto& moment = lookupObjectRef<volVectorField>(fieldName("moment"));
|
||||||
lookupObjectRef<volVectorField>(fieldName("moment"));
|
|
||||||
|
|
||||||
vectorField& pm = moment.boundaryFieldRef()[patchi];
|
vectorField& pm = moment.boundaryFieldRef()[patchi];
|
||||||
pm += Md;
|
pm = Md^pf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -558,17 +554,14 @@ void Foam::functionObjects::forces::addToFields
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
volVectorField& force =
|
auto& force = lookupObjectRef<volVectorField>(fieldName("force"));
|
||||||
lookupObjectRef<volVectorField>(fieldName("force"));
|
auto& moment = lookupObjectRef<volVectorField>(fieldName("moment"));
|
||||||
|
|
||||||
volVectorField& moment =
|
|
||||||
lookupObjectRef<volVectorField>(fieldName("moment"));
|
|
||||||
|
|
||||||
forAll(cellIDs, i)
|
forAll(cellIDs, i)
|
||||||
{
|
{
|
||||||
label celli = cellIDs[i];
|
label celli = cellIDs[i];
|
||||||
force[celli] += fN[i] + fT[i] + fP[i];
|
force[celli] += fN[i] + fT[i] + fP[i];
|
||||||
moment[celli] += Md[i];
|
moment[celli] = Md[i]^force[celli];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user