/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . Class Foam::PatchEdgeFaceWave Description Wave propagation of information along patch. Every iteration information goes through one layer of faces. Templated on information that is transferred. SourceFiles PatchEdgeFaceWave.C \*---------------------------------------------------------------------------*/ #ifndef PatchEdgeFaceWave_H #define PatchEdgeFaceWave_H #include "scalarField.H" #include "PackedBoolList.H" #include "PrimitivePatch.H" #include "vectorTensorTransform.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { // Forward declaration of classes class polyMesh; /*---------------------------------------------------------------------------*\ Class PatchEdgeFaceWaveName Declaration \*---------------------------------------------------------------------------*/ TemplateName(PatchEdgeFaceWave); /*---------------------------------------------------------------------------*\ Class PatchEdgeFaceWave Declaration \*---------------------------------------------------------------------------*/ template < class PrimitivePatchType, class Type, class TrackingData = label > class PatchEdgeFaceWave : public PatchEdgeFaceWaveName { // Private static data //- Relative tolerance. Stop propagation if relative changes // less than this tolerance (responsability for checking this is // up to Type implementation) static scalar propagationTol_; //- Used as default trackdata value to satisfy default template // argument. static label dummyTrackData_; // Private data //- Reference to mesh const polyMesh& mesh_; //- Reference to patch const PrimitivePatchType& patch_; //- Wall information for all edges UList& allEdgeInfo_; //- Information on all patch faces UList& allFaceInfo_; //- Additional data to be passed into container TrackingData& td_; //- Has edge changed PackedBoolList changedEdge_; //- List of changed edges DynamicList