diff --git a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C index b0a08e600719f9b638c9debf05475aba25293565..953b526f14b806a6bfe802e5e6d6e8ced556f0a9 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C @@ -41,10 +41,7 @@ Foam::externalCoupledMixedFvPatchField<Type>::patchKey = "# Patch: "; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template<class Type> -Foam::fileName Foam::externalCoupledMixedFvPatchField<Type>::baseDir -( - const word& patchName -) const +Foam::fileName Foam::externalCoupledMixedFvPatchField<Type>::baseDir() const { word regionName(this->dimensionedInternalField().mesh().name()); if (regionName == polyMesh::defaultRegion) @@ -55,21 +52,7 @@ Foam::fileName Foam::externalCoupledMixedFvPatchField<Type>::baseDir fileName result(commsDir_/regionName); result.clean(); - if (collate_) - { - return result; - } - else - { - if (patchName == word::null) - { - return fileName(result/this->patch().name()); - } - else - { - return fileName(result/patchName); - } - } + return result; } @@ -97,75 +80,49 @@ void Foam::externalCoupledMixedFvPatchField<Type>::setMaster offsets_[i] = 0; } - if (collate_) + // set the master patch + forAll(patchIDs, i) { - // set the master patch - forAll(patchIDs, i) - { - label patchI = patchIDs[i]; - - patchType& pf = refCast<patchType>(bf[patchI]); + label patchI = patchIDs[i]; - offsets_[patchI][Pstream::myProcNo()] = pf.size(); + patchType& pf = refCast<patchType>(bf[patchI]); - if (i == 0) - { - pf.master() = true; - } - else - { - pf.master() = false; - } - } + offsets_[patchI][Pstream::myProcNo()] = pf.size(); - // set the patch offsets - int tag = Pstream::msgType() + 1; - forAll(offsets_, i) + if (i == 0) { - Pstream::gatherList(offsets_[i], tag); - Pstream::scatterList(offsets_[i], tag); + pf.master() = true; } - - label patchOffset = 0; - forAll(offsets_, patchI) + else { - label sumOffset = 0; - List<label>& procOffsets = offsets_[patchI]; - - forAll(procOffsets, procI) - { - label o = procOffsets[procI]; - if (o > 0) - { - procOffsets[procI] = patchOffset + sumOffset; - sumOffset += o; - } - } - patchOffset += sumOffset; + pf.master() = false; } } - else + + // set the patch offsets + int tag = Pstream::msgType() + 1; + forAll(offsets_, i) { - // check that collated flag is not set on any other patches - forAll(patchIDs, i) - { - label patchI = patchIDs[i]; + Pstream::gatherList(offsets_[i], tag); + Pstream::scatterList(offsets_[i], tag); + } - const patchType& pf = refCast<const patchType>(bf[patchI]); + label patchOffset = 0; + forAll(offsets_, patchI) + { + label sumOffset = 0; + List<label>& procOffsets = offsets_[patchI]; - if (pf.collate()) + forAll(procOffsets, procI) + { + label o = procOffsets[procI]; + if (o > 0) { - FatalErrorIn - ( - "void Foam::externalCoupledMixedFvPatchField<Type>::" - "setMaster()" - ) << "All " << type() << " patches should either use " - << "collate = true OR false, but not a mix of both" - << exit(FatalError); + procOffsets[procI] = patchOffset + sumOffset; + sumOffset += o; } } - - master_ = true; + patchOffset += sumOffset; } } @@ -281,33 +238,26 @@ void Foam::externalCoupledMixedFvPatchField<Type>::removeLockFile() const template<class Type> void Foam::externalCoupledMixedFvPatchField<Type>::startWait() const { - if (collate_) - { - // only wait on master patch + // only wait on master patch - const volFieldType& cvf = - static_cast<const volFieldType&>(this->dimensionedInternalField()); + const volFieldType& cvf = + static_cast<const volFieldType&>(this->dimensionedInternalField()); - const typename volFieldType::GeometricBoundaryField& bf = - cvf.boundaryField(); + const typename volFieldType::GeometricBoundaryField& bf = + cvf.boundaryField(); - forAll(coupledPatchIDs_, i) - { - label patchI = coupledPatchIDs_[i]; + forAll(coupledPatchIDs_, i) + { + label patchI = coupledPatchIDs_[i]; - const patchType& pf = refCast<const patchType>(bf[patchI]); + const patchType& pf = refCast<const patchType>(bf[patchI]); - if (pf.master()) - { - pf.wait(); - break; - } + if (pf.master()) + { + pf.wait(); + break; } } - else - { - wait(); - } } @@ -471,26 +421,19 @@ void Foam::externalCoupledMixedFvPatchField<Type>::writeData writeHeader(os); - if (collate_) - { - const volFieldType& cvf = - static_cast<const volFieldType&>(this->dimensionedInternalField()); + const volFieldType& cvf = + static_cast<const volFieldType&>(this->dimensionedInternalField()); - const typename volFieldType::GeometricBoundaryField& bf = - cvf.boundaryField(); + const typename volFieldType::GeometricBoundaryField& bf = + cvf.boundaryField(); - forAll(coupledPatchIDs_, i) - { - label patchI = coupledPatchIDs_[i]; + forAll(coupledPatchIDs_, i) + { + label patchI = coupledPatchIDs_[i]; - const patchType& pf = refCast<const patchType>(bf[patchI]); + const patchType& pf = refCast<const patchType>(bf[patchI]); - pf.transferData(os); - } - } - else - { - transferData(os); + pf.transferData(os); } } @@ -518,7 +461,6 @@ externalCoupledMixedFvPatchField mixedFvPatchField<Type>(p, iF), commsDir_("unknown-commsDir"), fName_("unknown-fName"), - collate_(false), waitInterval_(0), timeOut_(0), calcFrequency_(0), @@ -548,7 +490,6 @@ externalCoupledMixedFvPatchField mixedFvPatchField<Type>(ptf, p, iF, mapper), commsDir_(ptf.commsDir_), fName_(ptf.fName_), - collate_(ptf.collate_), waitInterval_(ptf.waitInterval_), timeOut_(ptf.timeOut_), calcFrequency_(ptf.calcFrequency_), @@ -573,7 +514,6 @@ externalCoupledMixedFvPatchField mixedFvPatchField<Type>(p, iF), commsDir_(dict.lookup("commsDir")), fName_(dict.lookup("fileName")), - collate_(readBool(dict.lookup("collate"))), waitInterval_(dict.lookupOrDefault("waitInterval", 1)), timeOut_(dict.lookupOrDefault("timeOut", 100*waitInterval_)), calcFrequency_(dict.lookupOrDefault("calcFrequency", 1)), @@ -624,7 +564,6 @@ externalCoupledMixedFvPatchField mixedFvPatchField<Type>(ecmpf), commsDir_(ecmpf.commsDir_), fName_(ecmpf.fName_), - collate_(ecmpf.collate_), waitInterval_(ecmpf.waitInterval_), timeOut_(ecmpf.timeOut_), calcFrequency_(ecmpf.calcFrequency_), @@ -648,7 +587,6 @@ externalCoupledMixedFvPatchField mixedFvPatchField<Type>(ecmpf, iF), commsDir_(ecmpf.commsDir_), fName_(ecmpf.fName_), - collate_(ecmpf.collate_), waitInterval_(ecmpf.waitInterval_), timeOut_(ecmpf.timeOut_), calcFrequency_(ecmpf.calcFrequency_), @@ -857,52 +795,22 @@ void Foam::externalCoupledMixedFvPatchField<Type>::writeGeometry() const const typename volFieldType::GeometricBoundaryField& bf = cvf.boundaryField(); - if (collate_) - { - OFstream osPoints(baseDir()/"patchPoints"); - OFstream osFaces(baseDir()/"patchFaces"); - - if (log_) - { - Info<< "writing collated patch points to: " - << osPoints.name() << endl; - Info<< "writing collated patch faces to: " - << osFaces.name() << endl; - } - - forAll(bf, patchI) - { - if (isA<patchType>(bf[patchI])) - { - const patchType& pf = refCast<const patchType>(bf[patchI]); + OFstream osPoints(baseDir()/"patchPoints"); + OFstream osFaces(baseDir()/"patchFaces"); - pf.writeGeometry(osPoints, osFaces); - } - } + if (log_) + { + Info<< "writing collated patch points to: " << osPoints.name() << nl + << "writing collated patch faces to: " << osFaces.name() << endl; } - else + + forAll(bf, patchI) { - forAll(bf, patchI) + if (isA<patchType>(bf[patchI])) { - if (isA<patchType>(bf[patchI])) - { - const word& patchName = this->patch().name(); - - OFstream osPoints(baseDir(patchName)/"patchPoints"); - OFstream osFaces(baseDir(patchName)/"patchFaces"); - - if (log_) - { - Info<< "writing patch " << patchName << " points to: " - << osPoints.name() << endl; - Info<< "writing patch " << patchName << " faces to: " - << osFaces.name() << endl; - } - - const patchType& pf = refCast<const patchType>(bf[patchI]); + const patchType& pf = refCast<const patchType>(bf[patchI]); - pf.writeGeometry(osPoints, osFaces); - } + pf.writeGeometry(osPoints, osFaces); } } } @@ -915,7 +823,6 @@ void Foam::externalCoupledMixedFvPatchField<Type>::write(Ostream& os) const os.writeKeyword("commsDir") << commsDir_ << token::END_STATEMENT << nl; os.writeKeyword("fileName") << fName_ << token::END_STATEMENT << nl; - os.writeKeyword("collate") << collate_ << token::END_STATEMENT << nl; os.writeKeyword("waitInterval") << waitInterval_ << token::END_STATEMENT << nl; os.writeKeyword("timeOut") << timeOut_ << token::END_STATEMENT << nl; diff --git a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H index f4a5ced2b0392e647659422213356b854ff3d3f0..de81ffd7b033d31eee91573716d3b3a9f35643a0 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H @@ -48,13 +48,7 @@ Description ... <valueN> <gradientN> <valueFracionN> - Data is either sent/received as one file per patch, or as a single file - for all patches, based on the \c collate flag. In the former case, the - folder used for communications is: - - $FOAM_CASE/<commsDir>/patchName - - and when using the \c collate option: + Data is sent/received as a single file for all patches from the folder $FOAM_CASE/<commsDir> @@ -83,7 +77,6 @@ Description Property | Description | Required | Default value commsDir | communications folder | yes | fileName | transfer file name | yes | - collate | collate all patch data into single file | yes | waitInterval | interval [s] between file checks | no | 1 timeOut | time after which error invoked [s] |no |100*waitInterval calcFrequency | calculation frequency | no | 1 @@ -98,7 +91,6 @@ Description type externalCoupled; commsDir "$FOAM_CASE/comms"; fileName data; - collate yes; calcFrequency 1; initByExternal yes; } @@ -149,9 +141,6 @@ private: //- Name of data file word fName_; - //- Flag to collate all data into single transfer file - bool collate_; - //- Interval time between checking for return data [s] label waitInterval_; @@ -190,7 +179,7 @@ private: void setMaster(const labelList& patchIDs); //- Return the file path to the base communications folder - fileName baseDir(const word& patchName = word::null) const; + fileName baseDir() const; //- Write the geometry to the comms dir void writeGeometry(OFstream& osPoints, OFstream& osFaces) const; @@ -316,12 +305,6 @@ public: return log_; } - //- Return the collate flag - bool collate() const - { - return collate_; - } - //- Return the master flag bool master() const {