mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: propellerInfo - updated to work in postProcess mode. Fixes #2588
This commit is contained in:
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2021-2022 OpenCFD Ltd.
|
Copyright (C) 2021-2024 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -808,6 +808,7 @@ Foam::functionObjects::propellerInfo::propellerInfo
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
forces(name, runTime, dict, false),
|
forces(name, runTime, dict, false),
|
||||||
|
dict_(dict),
|
||||||
radius_(0),
|
radius_(0),
|
||||||
URefPtr_(nullptr),
|
URefPtr_(nullptr),
|
||||||
rotationMode_(rotationMode::SPECIFIED),
|
rotationMode_(rotationMode::SPECIFIED),
|
||||||
@ -827,7 +828,8 @@ Foam::functionObjects::propellerInfo::propellerInfo
|
|||||||
interpolationScheme_("cell"),
|
interpolationScheme_("cell"),
|
||||||
wakeFilePtr_(nullptr),
|
wakeFilePtr_(nullptr),
|
||||||
axialWakeFilePtr_(nullptr),
|
axialWakeFilePtr_(nullptr),
|
||||||
nanValue_(pTraits<scalar>::min)
|
nanValue_(pTraits<scalar>::min),
|
||||||
|
initialised_(false)
|
||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
@ -855,21 +857,18 @@ bool Foam::functionObjects::propellerInfo::read(const dictionary& dict)
|
|||||||
{
|
{
|
||||||
if (forces::read(dict))
|
if (forces::read(dict))
|
||||||
{
|
{
|
||||||
|
dict_ = dict;
|
||||||
|
|
||||||
radius_ = dict.getScalar("radius");
|
radius_ = dict.getScalar("radius");
|
||||||
URefPtr_.reset(Function1<scalar>::New("URef", dict, &mesh_));
|
URefPtr_.reset(Function1<scalar>::New("URef", dict, &mesh_));
|
||||||
rotationMode_ = rotationModeNames_.get("rotationMode", dict);
|
rotationMode_ = rotationModeNames_.get("rotationMode", dict);
|
||||||
|
|
||||||
// Must be set before setting the surface
|
|
||||||
setCoordinateSystem(dict);
|
|
||||||
|
|
||||||
writePropellerPerformance_ =
|
writePropellerPerformance_ =
|
||||||
dict.get<bool>("writePropellerPerformance");
|
dict.get<bool>("writePropellerPerformance");
|
||||||
|
|
||||||
writeWakeFields_ = dict.get<bool>("writeWakeFields");
|
writeWakeFields_ = dict.get<bool>("writeWakeFields");
|
||||||
if (writeWakeFields_)
|
if (writeWakeFields_)
|
||||||
{
|
{
|
||||||
setSampleDiskSurface(dict);
|
|
||||||
|
|
||||||
dict.readIfPresent("interpolationScheme", interpolationScheme_);
|
dict.readIfPresent("interpolationScheme", interpolationScheme_);
|
||||||
|
|
||||||
dict.readIfPresent("nanValue", nanValue_);
|
dict.readIfPresent("nanValue", nanValue_);
|
||||||
@ -884,6 +883,19 @@ bool Foam::functionObjects::propellerInfo::read(const dictionary& dict)
|
|||||||
|
|
||||||
bool Foam::functionObjects::propellerInfo::execute()
|
bool Foam::functionObjects::propellerInfo::execute()
|
||||||
{
|
{
|
||||||
|
if (!initialised_)
|
||||||
|
{
|
||||||
|
// Must be set before setting the surface
|
||||||
|
setCoordinateSystem(dict_);
|
||||||
|
|
||||||
|
if (writeWakeFields_)
|
||||||
|
{
|
||||||
|
setSampleDiskSurface(dict_);
|
||||||
|
}
|
||||||
|
|
||||||
|
initialised_ = true;
|
||||||
|
}
|
||||||
|
|
||||||
calcForcesMoments();
|
calcForcesMoments();
|
||||||
|
|
||||||
createFiles();
|
createFiles();
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2021 OpenCFD Ltd.
|
Copyright (C) 2021-2024 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -205,6 +205,9 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
|
//- Copy of dictionary used during construction
|
||||||
|
dictionary dict_;
|
||||||
|
|
||||||
//- Propeller radius
|
//- Propeller radius
|
||||||
scalar radius_;
|
scalar radius_;
|
||||||
|
|
||||||
@ -271,6 +274,9 @@ protected:
|
|||||||
//- scalar::min
|
//- scalar::min
|
||||||
scalar nanValue_;
|
scalar nanValue_;
|
||||||
|
|
||||||
|
//- Initialised flag
|
||||||
|
bool initialised_;
|
||||||
|
|
||||||
|
|
||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user