FreeFOAM The Cross-Platform CFD Toolkit
directMappedVelocityFluxFixedValueFvPatchField.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::directMappedVelocityFluxFixedValueFvPatchField
26 
27 Description
28  Recycles the velocity and flux at a patch to this patch
29 
30  mode = NEARESTPATCHFACE : sample nearest face on selected patch
31  mode = NEARESTFACE : sample nearest face on any patch. Note: does not
32  warn if nearest actually is on internal face!
33 
34 SourceFiles
35  directMappedVelocityFluxFixedValueFvPatchField.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef directMappedVelocityFluxFixedValueFvPatchField_H
40 #define directMappedVelocityFluxFixedValueFvPatchField_H
41 
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class directMappedVelocityFluxFixedValueFvPatch Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public fixedValueFvPatchVectorField
57 {
58  // Private data
59 
60  //- Name of flux field
61  word phiName_;
62 
63 public:
64 
65  //- Runtime type information
66  TypeName("directMappedVelocityFlux");
67 
68 
69  // Constructors
70 
71  //- Construct from patch and internal field
73  (
74  const fvPatch&,
76  );
77 
78  //- Construct from patch, internal field and dictionary
80  (
81  const fvPatch&,
83  const dictionary&
84  );
85 
86  //- Construct by mapping given
87  // directMappedVelocityFluxFixedValueFvPatchField
88  // onto a new patch
90  (
92  const fvPatch&,
94  const fvPatchFieldMapper&
95  );
96 
97  //- Construct as copy
99  (
101  );
102 
103  //- Construct and return a clone
105  {
107  (
109  );
110  }
111 
112  //- Construct as copy setting internal field reference
114  (
117  );
118 
119  //- Construct and return a clone setting internal field reference
121  (
123  ) const
124  {
126  (
128  );
129  }
130 
131 
132  // Member functions
133 
134  // Evaluation functions
135 
136  //- Update the coefficients associated with the patch field
137  virtual void updateCoeffs();
138 
139  //- Write
140  virtual void write(Ostream&) const;
141 };
142 
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 } // End namespace Foam
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 #endif
151 
152 // ************************ vim: set sw=4 sts=4 et: ************************ //