vibrationShellFvPatchScalarField.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2019-2020 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::compressible::vibrationShellFvPatchScalarField
28 
29 Group
30  grpVibrationBoundaryConditions
31 
32 Description
33 
34 Usage
35  Example of the boundary condition specification:
36  \verbatim
37  <masterPatchName>
38  {
39  // Mandatory entries (unmodifiable)
40  type vibrationShell;
41 
42  // Mandatory/Optional (inherited) entries
43  ...
44  }
45  \endverbatim
46 
47  where the entries mean:
48  \table
49  Property | Description | Type | Reqd | Dflt
50  type | Type name: vibrationShell | word | yes | -
51  \endtable
52 
53  The inherited entries are elaborated in:
54  - \link mixedFvPatchField.H \endlink
55  - \link vibrationShellModel.H \endlink
56 
57 SourceFiles
58  vibrationShellFvPatchScalarField.C
59 
60 \*---------------------------------------------------------------------------*/
61 
62 #ifndef vibrationShellFvPatchScalarField_H
63 #define vibrationShellFvPatchScalarField_H
64 
65 #include "autoPtr.H"
66 #include "vibrationShellModel.H"
67 #include "mixedFvPatchFields.H"
68 
69 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70 
71 namespace Foam
72 {
73 
74 /*---------------------------------------------------------------------------*\
75  Class vibrationShellFvPatchScalarField Declaration
76 \*---------------------------------------------------------------------------*/
77 
78 class vibrationShellFvPatchScalarField
79 :
80  public mixedFvPatchField<scalar>
81 {
82  // Typedefs
83 
84  //- The finite-area region model
86 
87 
88  // Private Data
89 
90  //- The vibration shell
91  autoPtr<baffleType> baffle_;
92 
93  //- Dictionary
94  dictionary dict_;
95 
96 
97 public:
98 
99  //- Runtime type information
100  TypeName("vibrationShell");
101 
102 
103  // Constructors
104 
105  //- Construct from patch and internal field
107  (
108  const fvPatch&,
110  );
111 
112  //- Construct from patch, internal field and dictionary
114  (
115  const fvPatch&,
117  const dictionary&
118  );
119 
120  //- Construct by mapping given
121  //- vibrationShellFvPatchScalarField onto a new patch
123  (
125  const fvPatch&,
127  const fvPatchFieldMapper&
128  );
129 
130  //- Construct and return a clone
131  virtual tmp<fvPatchScalarField> clone() const
132  {
134  (
136  );
137  }
138 
139  //- Construct as copy setting internal field reference
141  (
144  );
145 
146  //- Construct and return a clone setting internal field reference
148  (
150  ) const
151  {
153  (
155  );
156  }
157 
158 
159  // Member Functions
160 
161  //- Update the coefficients associated with the patch field
162  virtual void updateCoeffs();
163 
164  //- Write
165  virtual void write(Ostream&) const;
166 };
167 
168 
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 
171 } // End namespace Foam
172 
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 
176 #endif
177 
178 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
vibrationShellFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("vibrationShell")
Runtime type information.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: areaFieldsFwd.H:42
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Definition: HashPtrTable.H:48
A class for managing temporary objects.
Definition: HashPtrTable.H:50
Namespace for OpenFOAM.