From 06df44a58870f66dd44a77f70a6f81ae496e7f91 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 9 Mar 2023 09:38:47 +0000 Subject: [PATCH] COMP: protect against null tmp field (freestream BC) --- .../freestream/freestreamFvPatchField.C | 12 ++++----- .../freestream/freestreamFvPatchField.H | 27 +++++++------------ 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.C index 28f6fe0d48..2e0d93fea8 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.C @@ -38,7 +38,7 @@ Foam::freestreamFvPatchField::freestreamFvPatchField ) : inletOutletFvPatchField(p, iF), - freestreamBCPtr_() + freestreamBCPtr_(nullptr) {} @@ -51,7 +51,7 @@ Foam::freestreamFvPatchField::freestreamFvPatchField ) : inletOutletFvPatchField(p, iF), - freestreamBCPtr_() + freestreamBCPtr_(nullptr) { fvPatchFieldBase::readDict(dict); @@ -93,7 +93,7 @@ Foam::freestreamFvPatchField::freestreamFvPatchField ) : inletOutletFvPatchField(ptf, p, iF, mapper), - freestreamBCPtr_() + freestreamBCPtr_(nullptr) { if (ptf.freestreamBCPtr_) { @@ -110,7 +110,7 @@ Foam::freestreamFvPatchField::freestreamFvPatchField ) : inletOutletFvPatchField(ptf), - freestreamBCPtr_() + freestreamBCPtr_(nullptr) { if (ptf.freestreamBCPtr_) { @@ -127,7 +127,7 @@ Foam::freestreamFvPatchField::freestreamFvPatchField ) : inletOutletFvPatchField(ptf, iF), - freestreamBCPtr_() + freestreamBCPtr_(nullptr) { if (ptf.freestreamBCPtr_) { @@ -160,7 +160,7 @@ void Foam::freestreamFvPatchField::rmap const auto& fsptf = refCast>(ptf); - if (fsptf.freestreamBCPtr_) + if (freestreamBCPtr_ && fsptf.freestreamBCPtr_) { freestreamBCPtr_->rmap(fsptf.freestreamBCPtr_(), addr); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H index 2eae6f72c8..7a86c6db2e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/freestream/freestreamFvPatchField.H @@ -83,8 +83,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef freestreamFvPatchField_H -#define freestreamFvPatchField_H +#ifndef Foam_freestreamFvPatchField_H +#define Foam_freestreamFvPatchField_H #include "inletOutletFvPatchField.H" @@ -102,7 +102,7 @@ class freestreamFvPatchField : public inletOutletFvPatchField { - // Private data + // Private Data //- BC to supply the freestream value tmp> freestreamBCPtr_; @@ -175,7 +175,13 @@ public: } - // Member functions + // Member Functions + + // Access + + const Field& freestreamValue() const { return this->refValue(); } + Field& freestreamValue() { return this->refValue(); } + // Mapping functions @@ -193,19 +199,6 @@ public: //- Update the coefficients associated with the patch field virtual void updateCoeffs(); - // Return defining fields - - const Field& freestreamValue() const - { - return this->refValue(); - } - - Field& freestreamValue() - { - return this->refValue(); - } - - //- Write virtual void write(Ostream&) const; };