diff --git a/applications/utilities/preProcessing/setFields/setFields.C b/applications/utilities/preProcessing/setFields/setFields.C index 55b58e16b4d0845962ad4558ce089854eb4a7686..797b44437ef1f4604d1d484bb9ffe17736b3acaa 100644 --- a/applications/utilities/preProcessing/setFields/setFields.C +++ b/applications/utilities/preProcessing/setFields/setFields.C @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Description - Selects a cell set through a dictionary. + Set values on a selected set of cells/patchfaces through a dictionary. \*---------------------------------------------------------------------------*/ @@ -32,12 +32,13 @@ Description #include "fvMesh.H" #include "topoSetSource.H" #include "cellSet.H" +#include "faceSet.H" #include "volFields.H" using namespace Foam; template<class Type> -bool setFieldType +bool setCellFieldType ( const word& fieldTypeDesc, const fvMesh& mesh, @@ -65,7 +66,8 @@ bool setFieldType // Check field exists if (fieldHeader.headerOk()) { - Info<< " Setting " << fieldHeader.headerClassName() + Info<< " Setting internal values of " + << fieldHeader.headerClassName() << " " << fieldName << endl; fieldType field(fieldHeader, mesh); @@ -96,7 +98,7 @@ bool setFieldType { WarningIn ( - "void setFieldType" + "void setCellFieldType" "(const fvMesh& mesh, const labelList& selectedCells," "Istream& fieldValueStream)" ) << "Field " << fieldName << " not found" << endl; @@ -106,17 +108,17 @@ bool setFieldType } -class setField +class setCellField { public: - setField() + setCellField() {} - autoPtr<setField> clone() const + autoPtr<setCellField> clone() const { - return autoPtr<setField>(new setField()); + return autoPtr<setCellField>(new setCellField()); } class iNew @@ -132,37 +134,200 @@ public: selectedCells_(selectedCells) {} - autoPtr<setField> operator()(Istream& fieldValues) const + autoPtr<setCellField> operator()(Istream& fieldValues) const { word fieldType(fieldValues); if ( !( - setFieldType<scalar> + setCellFieldType<scalar> (fieldType, mesh_, selectedCells_, fieldValues) - || setFieldType<vector> + || setCellFieldType<vector> (fieldType, mesh_, selectedCells_, fieldValues) - || setFieldType<sphericalTensor> + || setCellFieldType<sphericalTensor> (fieldType, mesh_, selectedCells_, fieldValues) - || setFieldType<symmTensor> + || setCellFieldType<symmTensor> (fieldType, mesh_, selectedCells_, fieldValues) - || setFieldType<tensor> + || setCellFieldType<tensor> (fieldType, mesh_, selectedCells_, fieldValues) ) ) { - WarningIn("setField::iNew::operator()(Istream& is)") + WarningIn("setCellField::iNew::operator()(Istream& is)") << "field type " << fieldType << " not currently supported" << endl; } - return autoPtr<setField>(new setField()); + return autoPtr<setCellField>(new setCellField()); } }; }; +template<class Type> +bool setFaceFieldType +( + const word& fieldTypeDesc, + const fvMesh& mesh, + const labelList& selectedFaces, + Istream& fieldValueStream +) +{ + typedef GeometricField<Type, fvPatchField, volMesh> fieldType; + + if (fieldTypeDesc != fieldType::typeName + "Value") + { + return false; + } + + word fieldName(fieldValueStream); + + IOobject fieldHeader + ( + fieldName, + mesh.time().timeName(), + mesh, + IOobject::MUST_READ + ); + + // Check field exists + if (fieldHeader.headerOk()) + { + Info<< " Setting patchField values of " + << fieldHeader.headerClassName() + << " " << fieldName << endl; + + fieldType field(fieldHeader, mesh); + + const Type& value = pTraits<Type>(fieldValueStream); + + // Create flat list of selected faces and their value. + Field<Type> allBoundaryValues(mesh.nFaces()-mesh.nInternalFaces()); + forAll(field.boundaryField(), patchi) + { + SubField<Type> + ( + allBoundaryValues, + field.boundaryField()[patchi].size(), + field.boundaryField()[patchi].patch().start() + - mesh.nInternalFaces() + ).assign(field.boundaryField()[patchi]); + } + + // Override + labelList nChanged(field.boundaryField().size(), 0); + forAll(selectedFaces, i) + { + label facei = selectedFaces[i]; + if (mesh.isInternalFace(facei)) + { + WarningIn("setFaceFieldType(..)") + << "Ignoring internal face " << facei << endl; + } + else + { + label bFaceI = facei-mesh.nInternalFaces(); + allBoundaryValues[bFaceI] = value; + nChanged[mesh.boundaryMesh().patchID()[bFaceI]]++; + } + } + + Pstream::listCombineGather(nChanged, plusEqOp<label>()); + Pstream::listCombineScatter(nChanged); + + // Reassign. + forAll(field.boundaryField(), patchi) + { + if (nChanged[patchi] > 0) + { + Info<< " On patch " + << field.boundaryField()[patchi].patch().name() + << " set " << nChanged[patchi] << " values" << endl; + field.boundaryField()[patchi] == SubField<Type> + ( + allBoundaryValues, + field.boundaryField()[patchi].size(), + field.boundaryField()[patchi].patch().start() + - mesh.nInternalFaces() + ); + } + } + + field.write(); + } + else + { + WarningIn + ( + "void setFaceFieldType" + "(const fvMesh& mesh, const labelList& selectedFaces," + "Istream& fieldValueStream)" + ) << "Field " << fieldName << " not found" << endl; + } + + return true; +} + + +class setFaceField +{ + +public: + + setFaceField() + {} + + autoPtr<setFaceField> clone() const + { + return autoPtr<setFaceField>(new setFaceField()); + } + + class iNew + { + const fvMesh& mesh_; + const labelList& selectedFaces_; + + public: + + iNew(const fvMesh& mesh, const labelList& selectedFaces) + : + mesh_(mesh), + selectedFaces_(selectedFaces) + {} + + autoPtr<setFaceField> operator()(Istream& fieldValues) const + { + word fieldType(fieldValues); + + if + ( + !( + setFaceFieldType<scalar> + (fieldType, mesh_, selectedFaces_, fieldValues) + || setFaceFieldType<vector> + (fieldType, mesh_, selectedFaces_, fieldValues) + || setFaceFieldType<sphericalTensor> + (fieldType, mesh_, selectedFaces_, fieldValues) + || setFaceFieldType<symmTensor> + (fieldType, mesh_, selectedFaces_, fieldValues) + || setFaceFieldType<tensor> + (fieldType, mesh_, selectedFaces_, fieldValues) + ) + ) + { + WarningIn("setFaceField::iNew::operator()(Istream& is)") + << "field type " << fieldType << " not currently supported" + << endl; + } + + return autoPtr<setFaceField>(new setFaceField()); + } + }; +}; + + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) @@ -194,10 +359,10 @@ int main(int argc, char *argv[]) if (setFieldsDict.found("defaultFieldValues")) { Info<< "Setting field default values" << endl; - PtrList<setField> defaultFieldValues + PtrList<setCellField> defaultFieldValues ( setFieldsDict.lookup("defaultFieldValues"), - setField::iNew(mesh, labelList(mesh.nCells())) + setCellField::iNew(mesh, labelList(mesh.nCells())) ); Info<< endl; } @@ -211,29 +376,54 @@ int main(int argc, char *argv[]) { const entry& region = regions[regionI]; - autoPtr<topoSetSource> cellSelector = + autoPtr<topoSetSource> source = topoSetSource::New(region.keyword(), mesh, region.dict()); - cellSet selectedCellSet - ( - mesh, - "cellSet", - mesh.nCells()/10+1 // Reasonable size estimate. - ); + if (source().setType() == topoSetSource::CELLSETSOURCE) + { + cellSet selectedCellSet + ( + mesh, + "cellSet", + mesh.nCells()/10+1 // Reasonable size estimate. + ); - cellSelector->applyToSet - ( - topoSetSource::NEW, - selectedCellSet - ); + source->applyToSet + ( + topoSetSource::NEW, + selectedCellSet + ); - PtrList<setField> fieldValues - ( - region.dict().lookup("fieldValues"), - setField::iNew(mesh, selectedCellSet.toc()) - ); + PtrList<setCellField> fieldValues + ( + region.dict().lookup("fieldValues"), + setCellField::iNew(mesh, selectedCellSet.toc()) + ); + } + else if (source().setType() == topoSetSource::FACESETSOURCE) + { + faceSet selectedFaceSet + ( + mesh, + "faceSet", + (mesh.nFaces()-mesh.nInternalFaces())/10+1 + ); + + source->applyToSet + ( + topoSetSource::NEW, + selectedFaceSet + ); + + PtrList<setFaceField> fieldValues + ( + region.dict().lookup("fieldValues"), + setFaceField::iNew(mesh, selectedFaceSet.toc()) + ); + } } + Info<< "\nEnd\n" << endl; return 0; diff --git a/applications/utilities/preProcessing/setFields/setFieldsDict b/applications/utilities/preProcessing/setFields/setFieldsDict index 8d33be4c8f9dba1d691fb95abd9bdaf664c7b8ab..c58e622ff7e599dac5772dc87ead7ee161b1ef0e 100644 --- a/applications/utilities/preProcessing/setFields/setFieldsDict +++ b/applications/utilities/preProcessing/setFields/setFieldsDict @@ -23,6 +23,8 @@ defaultFieldValues regions ( + // Set cell values + // (does zerogradient on boundaries) boxToCell { box (0 0 -1) (0.1461 0.292 1); @@ -32,6 +34,17 @@ regions volScalarFieldValue gamma 1 ); } + + // Set patch values (using ==) + boxToFace + { + box (0 0 -1) (0.1461 0.292 1); + + fieldValues + ( + volScalarFieldValue gamma 1 + ); + } ); // ************************************************************************* // diff --git a/src/meshTools/sets/cellSources/boxToCell/boxToCell.H b/src/meshTools/sets/cellSources/boxToCell/boxToCell.H index e7061070f8d40d441ef276b52b5e51dec8aa09aa..be3546770455e1d467a8a6916f49dbb2ce90ac6c 100644 --- a/src/meshTools/sets/cellSources/boxToCell/boxToCell.H +++ b/src/meshTools/sets/cellSources/boxToCell/boxToCell.H @@ -102,6 +102,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/cellToCell/cellToCell.H b/src/meshTools/sets/cellSources/cellToCell/cellToCell.H index 7660c4bb83df10304b58c591303ab3c0a2992b7f..75fa47c3b16fb02128862b00fd750792c6f6e336 100644 --- a/src/meshTools/sets/cellSources/cellToCell/cellToCell.H +++ b/src/meshTools/sets/cellSources/cellToCell/cellToCell.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/cylinderToCell/cylinderToCell.H b/src/meshTools/sets/cellSources/cylinderToCell/cylinderToCell.H index 1581e8dcdfc4eda1da93a93db3da88476c216ab2..bd67e09c67f96aa4a052b437b4b81864161fb26e 100644 --- a/src/meshTools/sets/cellSources/cylinderToCell/cylinderToCell.H +++ b/src/meshTools/sets/cellSources/cylinderToCell/cylinderToCell.H @@ -109,6 +109,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/faceToCell/faceToCell.H b/src/meshTools/sets/cellSources/faceToCell/faceToCell.H index 4b1673d35ce0ca692bb83dd5db2fc452c248bcee..768ec475e11429c79539d9e228462b5e5241de6f 100644 --- a/src/meshTools/sets/cellSources/faceToCell/faceToCell.H +++ b/src/meshTools/sets/cellSources/faceToCell/faceToCell.H @@ -119,6 +119,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.H b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.H index 7ee8b3d6da17d335ceca5e9c9acd2ec94c050be5..132c46d60bbfe1846240e1bd56f5a91aa319ccd5 100644 --- a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.H +++ b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.H @@ -116,6 +116,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.H b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.H index a0a892211598d36ea0ff5adf50c20dbbe801159f..6a34e2220823e840a883fea3daa4f8bf61f199b8 100644 --- a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.H +++ b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.H @@ -115,6 +115,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/labelToCell/labelToCell.H b/src/meshTools/sets/cellSources/labelToCell/labelToCell.H index 8704f543672c610532cf8e907d92f9fa6619609f..16a8f72e00b9fa899abb35d7dcde0b015f93a662 100644 --- a/src/meshTools/sets/cellSources/labelToCell/labelToCell.H +++ b/src/meshTools/sets/cellSources/labelToCell/labelToCell.H @@ -100,6 +100,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/nbrToCell/nbrToCell.H b/src/meshTools/sets/cellSources/nbrToCell/nbrToCell.H index 8a604f45bfe34263090fa442cc9fad533e4bdfb4..35d8a5525d9cabff42b728bd0bc5e59f53e29afd 100644 --- a/src/meshTools/sets/cellSources/nbrToCell/nbrToCell.H +++ b/src/meshTools/sets/cellSources/nbrToCell/nbrToCell.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/nearestToCell/nearestToCell.H b/src/meshTools/sets/cellSources/nearestToCell/nearestToCell.H index 8c3555b04685b34b2261f11618ddf6b5685e00c1..b61c8edd3adfe4fde1e34082021c14a549fabf8f 100644 --- a/src/meshTools/sets/cellSources/nearestToCell/nearestToCell.H +++ b/src/meshTools/sets/cellSources/nearestToCell/nearestToCell.H @@ -100,6 +100,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/pointToCell/pointToCell.H b/src/meshTools/sets/cellSources/pointToCell/pointToCell.H index 6e1a596a45e1168c42d19efdccbdfb268b479b6b..3c903a0b5c9bd7e239794bf84a70467e51686fa4 100644 --- a/src/meshTools/sets/cellSources/pointToCell/pointToCell.H +++ b/src/meshTools/sets/cellSources/pointToCell/pointToCell.H @@ -115,6 +115,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/regionToCell/regionToCell.H b/src/meshTools/sets/cellSources/regionToCell/regionToCell.H index 07ebb50255543d112334bc2679e4db342e7e4810..bf4d9a339254a8711e5470a9510b384535bdb623 100644 --- a/src/meshTools/sets/cellSources/regionToCell/regionToCell.H +++ b/src/meshTools/sets/cellSources/regionToCell/regionToCell.H @@ -105,6 +105,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet(const topoSetSource::setAction action, topoSet&) const; diff --git a/src/meshTools/sets/cellSources/rotatedBoxToCell/rotatedBoxToCell.H b/src/meshTools/sets/cellSources/rotatedBoxToCell/rotatedBoxToCell.H index 7fef8788640b201799330f2b29d6a57c520f6fd8..9119938a488c323298f2699ee4df8c7255403f39 100644 --- a/src/meshTools/sets/cellSources/rotatedBoxToCell/rotatedBoxToCell.H +++ b/src/meshTools/sets/cellSources/rotatedBoxToCell/rotatedBoxToCell.H @@ -111,6 +111,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.H b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.H index 3a7294cebd97126917a983b49decbac36e885f40..8dffc55b1d6c0f661082eab4519282e4c1710552 100644 --- a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.H +++ b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.H @@ -109,6 +109,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/sphereToCell/sphereToCell.H b/src/meshTools/sets/cellSources/sphereToCell/sphereToCell.H index 553e6a29d3ee90a0873be89c52306c08078dac8f..9f7de5539f49e9832348daa97291d0d1e136c886 100644 --- a/src/meshTools/sets/cellSources/sphereToCell/sphereToCell.H +++ b/src/meshTools/sets/cellSources/sphereToCell/sphereToCell.H @@ -105,6 +105,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.H b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.H index e91e04f1ae3a4f27c051dad04c439ddc4b827aa3..48de11e0c5cbb1a0af661749ba0d0b2d6af530d5 100644 --- a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.H +++ b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.H @@ -195,6 +195,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.H b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.H index bb5504a17718ee7dd9b87481325c72029f93f157..edcb0fc391ec43256d66fac7c491899f88c244a6 100644 --- a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.H +++ b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.H b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.H index bbe2b656a12e0b0419c4e2f29567d92094be430c..22c37deafa20b996d726cb93043a7029dcc73385 100644 --- a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.H +++ b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return CELLZONESOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/boundaryToFace/boundaryToFace.H b/src/meshTools/sets/faceSources/boundaryToFace/boundaryToFace.H index 95afaa8ab003b6545a059d55f3d4645063e5f40c..fd36cd12a397c7726fa6cd56de82beb35a40c425 100644 --- a/src/meshTools/sets/faceSources/boundaryToFace/boundaryToFace.H +++ b/src/meshTools/sets/faceSources/boundaryToFace/boundaryToFace.H @@ -92,6 +92,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/boxToFace/boxToFace.H b/src/meshTools/sets/faceSources/boxToFace/boxToFace.H index 63a5c93ad4b75d9c2f6cbbcf15301ef0fdd6f3a5..76db6b5fa58618f0f4a6dc99b2e1b8247f3e057a 100644 --- a/src/meshTools/sets/faceSources/boxToFace/boxToFace.H +++ b/src/meshTools/sets/faceSources/boxToFace/boxToFace.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/cellToFace/cellToFace.H b/src/meshTools/sets/faceSources/cellToFace/cellToFace.H index 91302c3d7ba457b851182849dc642e9dd77c611b..4a32c9f4be8eedf1f3502697a56942bca4e2fe16 100644 --- a/src/meshTools/sets/faceSources/cellToFace/cellToFace.H +++ b/src/meshTools/sets/faceSources/cellToFace/cellToFace.H @@ -120,6 +120,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/faceToFace/faceToFace.H b/src/meshTools/sets/faceSources/faceToFace/faceToFace.H index 90bbc1d33af7168bc23157d92b9901cfb7639180..cd12b07624ce243963e1708e4ce743084a310dd8 100644 --- a/src/meshTools/sets/faceSources/faceToFace/faceToFace.H +++ b/src/meshTools/sets/faceSources/faceToFace/faceToFace.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/labelToFace/labelToFace.H b/src/meshTools/sets/faceSources/labelToFace/labelToFace.H index 2434e39c9a9f6450caf692631cdcad7ef287b116..dd42f98a5a9eaefa39f2a11e669677a70bda3604 100644 --- a/src/meshTools/sets/faceSources/labelToFace/labelToFace.H +++ b/src/meshTools/sets/faceSources/labelToFace/labelToFace.H @@ -100,6 +100,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/normalToFace/normalToFace.H b/src/meshTools/sets/faceSources/normalToFace/normalToFace.H index 3c287a1b69eee9f07df0f7b07bef86972494e5f4..508c7c9a36229f025db0a2125d94ebfab91b0b11 100644 --- a/src/meshTools/sets/faceSources/normalToFace/normalToFace.H +++ b/src/meshTools/sets/faceSources/normalToFace/normalToFace.H @@ -98,6 +98,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/patchToFace/patchToFace.H b/src/meshTools/sets/faceSources/patchToFace/patchToFace.H index 12a1ff170b8ff23946784f4d838e7849a41244d2..dd407edb030c1c849512dbaac5a9688a0f43a65f 100644 --- a/src/meshTools/sets/faceSources/patchToFace/patchToFace.H +++ b/src/meshTools/sets/faceSources/patchToFace/patchToFace.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/pointToFace/pointToFace.H b/src/meshTools/sets/faceSources/pointToFace/pointToFace.H index c8a2439e6a290d5bf9812ada2e9046eaf5b33a38..6a6a090fa0d663c97a112173eea379795976f9c1 100644 --- a/src/meshTools/sets/faceSources/pointToFace/pointToFace.H +++ b/src/meshTools/sets/faceSources/pointToFace/pointToFace.H @@ -118,6 +118,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.H b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.H index 9e04ef45a8880a8d8968136fdab505ead82349fa..1496af2d5aeef42e7e6e638a5a45655543d9c61d 100644 --- a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.H +++ b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACESETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.H b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.H index 8cfcb5066f3202ebcaf01574fc1b53720ae899df..1818e5082768b5f0c936d65a416d18e5a70bcf12 100644 --- a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.H +++ b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACEZONESOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.H b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.H index b062f440e5650a9c705326d6b119ae8398eb0a25..ae120debb039d496cde280873002daf9d894a485 100644 --- a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.H +++ b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.H @@ -94,6 +94,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACEZONESOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H index f326ec06018e40eb3fd8d74fb9f36f0496894dee..d1edb5417ae3f226650605e9c867958c546276b7 100644 --- a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H +++ b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H @@ -97,6 +97,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return FACEZONESOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/boxToPoint/boxToPoint.H b/src/meshTools/sets/pointSources/boxToPoint/boxToPoint.H index b403d851e112dc60be3f26c2f0dab0eabce9c7b1..9d9c0eed37cf49aa937e8f19795d9d812e2dbc28 100644 --- a/src/meshTools/sets/pointSources/boxToPoint/boxToPoint.H +++ b/src/meshTools/sets/pointSources/boxToPoint/boxToPoint.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/cellToPoint/cellToPoint.H b/src/meshTools/sets/pointSources/cellToPoint/cellToPoint.H index 6306ee5a0bcc53fe7dcd8cd1a465c5e1e615b59c..849bb70b8e8f2cc07ac7d9d474c92306186bb8e5 100644 --- a/src/meshTools/sets/pointSources/cellToPoint/cellToPoint.H +++ b/src/meshTools/sets/pointSources/cellToPoint/cellToPoint.H @@ -115,6 +115,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/faceToPoint/faceToPoint.H b/src/meshTools/sets/pointSources/faceToPoint/faceToPoint.H index b8a966b07fa90d5727334039a78c207f1ca3b4cb..17488ba33fe5372f59d1159ffc2ae3cc04f68ae5 100644 --- a/src/meshTools/sets/pointSources/faceToPoint/faceToPoint.H +++ b/src/meshTools/sets/pointSources/faceToPoint/faceToPoint.H @@ -115,6 +115,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/labelToPoint/labelToPoint.H b/src/meshTools/sets/pointSources/labelToPoint/labelToPoint.H index 0b809b69edddd059504f505dd397fa0905709deb..13b85be591da5b08e4db608a3894bff1c2058abd 100644 --- a/src/meshTools/sets/pointSources/labelToPoint/labelToPoint.H +++ b/src/meshTools/sets/pointSources/labelToPoint/labelToPoint.H @@ -100,6 +100,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/nearestToPoint/nearestToPoint.H b/src/meshTools/sets/pointSources/nearestToPoint/nearestToPoint.H index 5c746890b80f99f2e61ff489b3d5e173e33fd328..19d72cfeacc6b26465a1d62f1099d60d5344383c 100644 --- a/src/meshTools/sets/pointSources/nearestToPoint/nearestToPoint.H +++ b/src/meshTools/sets/pointSources/nearestToPoint/nearestToPoint.H @@ -100,6 +100,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/pointToPoint/pointToPoint.H b/src/meshTools/sets/pointSources/pointToPoint/pointToPoint.H index b76332d7845d419273ef55af3d0903046a7397ad..3f890b3400f2aca78a047e5945f0f868b76ac248 100644 --- a/src/meshTools/sets/pointSources/pointToPoint/pointToPoint.H +++ b/src/meshTools/sets/pointSources/pointToPoint/pointToPoint.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.H b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.H index 56e786fe61cec9b064b04e8bff8fe14db560c226..0c4372c0ddf560c90fa1643fd719deed959d12b2 100644 --- a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.H +++ b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.H @@ -123,6 +123,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.H b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.H index 58ca2b2cf40857f328ac74e04bbaba41110160d8..9fd4444552c64d9b84fbcefb63c1a81d8a19a4af 100644 --- a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.H +++ b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.H @@ -101,6 +101,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTSETSOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.H b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.H index 5226f708ac772937ccceb40e25b266d9faaa5122..21d4f640b8d5fb98791d9f46f4f0753c28adea62 100644 --- a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.H +++ b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.H @@ -93,6 +93,11 @@ public: // Member Functions + virtual sourceType setType() const + { + return POINTZONESOURCE; + } + virtual void applyToSet ( const topoSetSource::setAction action, diff --git a/src/meshTools/sets/topoSetSource/topoSetSource.H b/src/meshTools/sets/topoSetSource/topoSetSource.H index 5bbe71eb7451d88f1d5445e3b39b6b2950ff7ec5..81ca1cf38c3e2854c7625aa3ff55e4bbf1cc32ab 100644 --- a/src/meshTools/sets/topoSetSource/topoSetSource.H +++ b/src/meshTools/sets/topoSetSource/topoSetSource.H @@ -67,6 +67,18 @@ public: // Public data types + //- Enumeration defining the types of sources + enum sourceType + { + CELLSETSOURCE, + FACESETSOURCE, + POINTSETSOURCE, + + CELLZONESOURCE, + FACEZONESOURCE, + POINTZONESOURCE + }; + //- Enumeration defining the valid actions enum setAction { @@ -268,6 +280,8 @@ public: // Member Functions + virtual sourceType setType() const = 0; + virtual void applyToSet(const setAction action, topoSet&) const = 0; }; diff --git a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/Allrun index 800bb5731994d0f3a70b9f5ff7865f9659c1e4f7..9f8c5b0cb5b8051b69e627edcd9bd865c654b0ae 100755 --- a/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/Allrun +++ b/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/Allrun @@ -6,10 +6,9 @@ cd ${0%/*} || exit 1 # run from this directory application=`getApplication` -compileApplication ../../buoyantPimpleFoam/hotRoom/setHotRoom runApplication blockMesh cp 0/T.org 0/T -runApplication setHotRoom +runApplication setFields runApplication $application # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/Allrun index 800bb5731994d0f3a70b9f5ff7865f9659c1e4f7..9f8c5b0cb5b8051b69e627edcd9bd865c654b0ae 100755 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/Allrun +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/Allrun @@ -6,10 +6,9 @@ cd ${0%/*} || exit 1 # run from this directory application=`getApplication` -compileApplication ../../buoyantPimpleFoam/hotRoom/setHotRoom runApplication blockMesh cp 0/T.org 0/T -runApplication setHotRoom +runApplication setFields runApplication $application # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allclean b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allclean index 536b51a14e54034a9254d7a79312b3f89f9803e9..25243dd42f8aff1c422994b6303af87d894424c3 100755 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allclean +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allclean @@ -6,6 +6,5 @@ cd ${0%/*} || exit 1 # run from this directory cleanCase cp 0/T.org 0/T -wclean setHotRoom # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allrun index 3aafa6fd9423021ecd3c0e5de1cc49cdfd7b0ede..31c6c104c4d08b1bfe261de4868820bb191338cd 100755 --- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allrun +++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/Allrun @@ -7,9 +7,8 @@ cd ${0%/*} || exit 1 # run from this directory # Get application name application=`getApplication` -compileApplication setHotRoom runApplication blockMesh -runApplication setHotRoom +runApplication setFields runApplication $application # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun index cb0be1e6e06e5244e2bddc492b8cb56b1ca04acd..7b90a31601b62d6edf96a1054830e415e5170500 100755 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun @@ -6,9 +6,8 @@ cd ${0%/*} || exit 1 # run from this directory application=`getApplication` -compileApplication ../../buoyantPimpleFoam/hotRoom/setHotRoom runApplication blockMesh -runApplication setHotRoom +runApplication setFields runApplication $application # ----------------------------------------------------------------- end-of-file