1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 subMeshProcessorFvPatch
28 Customized processor type for subMeshes.
30 The intent of this class is to provide processor patch information
31 on subMeshes, but avoiding all forms of communication.
35 University of Massachusetts Amherst
38 \*---------------------------------------------------------------------------*/
40 #ifndef subMeshProcessorFvPatch_H
41 #define subMeshProcessorFvPatch_H
43 #include "processorFvPatch.H"
44 #include "subMeshProcessorPolyPatch.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 /*---------------------------------------------------------------------------*\
52 Class subMeshProcessorFvPatch Declaration
53 \*---------------------------------------------------------------------------*/
55 class subMeshProcessorFvPatch
57 public processorFvPatch
61 const subMeshProcessorPolyPatch& procPolyPatch_;
65 // Protected Member Functions
67 //- Make patch weighting factors
68 void makeWeights(scalarField&) const;
70 //- Make patch face - neighbour cell distances
71 void makeDeltaCoeffs(scalarField&) const;
75 //- Runtime type information
76 TypeName(subMeshProcessorPolyPatch::typeName_());
80 //- Construct from components
81 subMeshProcessorFvPatch
83 const polyPatch& patch,
84 const fvBoundaryMesh& bm
87 processorFvPatch(patch, bm),
88 procPolyPatch_(refCast<const subMeshProcessorPolyPatch>(patch))
93 virtual ~subMeshProcessorFvPatch()
98 //- Return delta (P to N) vectors across coupled patch
99 virtual tmp<vectorField> delta() const;
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104 } // End namespace Foam
106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 // ************************************************************************* //