From aaa54692618ce26f9c729be572c63cdf833f56a1 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 24 Jun 2021 12:03:13 +0100 Subject: [PATCH] ENH: fan bc: more logical initialisation. See #2138. --- .../jumpCyclic/jumpCyclicFvPatchField.C | 4 ++-- .../derived/fan/fanFvPatchField.C | 22 +++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C index 6348b99caf4..312829ed0d7 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -63,7 +63,7 @@ Foam::jumpCyclicFvPatchField<Type>::jumpCyclicFvPatchField const bool valueRequired ) : - cyclicFvPatchField<Type>(p, iF, dict, false) // Pass no valueRequired + cyclicFvPatchField<Type>(p, iF, dict, valueRequired) { // Call this evaluation in derived classes //this->evaluate(Pstream::commsTypes::blocking); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C index 58a98012952..0054c3def60 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -67,7 +67,7 @@ Foam::fanFvPatchField<Type>::fanFvPatchField const dictionary& dict ) : - uniformJumpFvPatchField<Type>(p, iF, dict), + uniformJumpFvPatchField<Type>(p, iF, dict, false), // Pass no valueRequired phiName_(dict.getOrDefault<word>("phi", "phi")), rhoName_(dict.getOrDefault<word>("rho", "rho")), uniformJump_(dict.getOrDefault("uniformJump", false)), @@ -75,11 +75,29 @@ Foam::fanFvPatchField<Type>::fanFvPatchField rpm_(0), dm_(0) { + // Note that we've not read jumpTable_ etc if (nonDimensional_) { dict.readEntry("rpm", rpm_); dict.readEntry("dm", dm_); } + + if (this->cyclicPatch().owner()) + { + this->jumpTable_ = Function1<Type>::New("jumpTable", dict); + } + + if (dict.found("value")) + { + fvPatchField<Type>::operator= + ( + Field<Type>("value", dict, p.size()) + ); + } + else + { + this->evaluate(Pstream::commsTypes::blocking); + } } -- GitLab