adjointRotatingWallVelocityFvPatchVectorField.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) 2020 PCOpt/NTUA
9 Copyright (C) 2020 FOSS GP
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
28Class
29 Foam::adjointRotatingWallVelocityFvPatchVectorField
30
31Description
32 The same as adjointWallVelocity but additionally computes the sensitivity
33 contribution emerging from the change in the positions of the face centres,
34 in case rotatingWallVelocity is used for the flow simulation.
35
36SourceFiles
37 adjointRotatingWallVelocityFvPatchVectorField.C
38
39\*---------------------------------------------------------------------------*/
40
41#ifndef adjointRotatingWallVelocityFvPatchVectorField_H
42#define adjointRotatingWallVelocityFvPatchVectorField_H
43
45#include "Function1.H"
46
47// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49namespace Foam
50{
51
52/*---------------------------------------------------------------------------*\
53 Class adjointRotatingWallVelocity Declaration
54\*---------------------------------------------------------------------------*/
57:
59{
60private:
61
62 // Private Data
63
64 //- Origin of the rotation
65 vector origin_;
66
67 //- Axis of the rotation
68 vector axis_;
69
70 //- Rotational speed
72
73
74public:
75
76 //- Runtime type information
77 TypeName("adjointRotatingWallVelocity");
78
79
80 // Constructors
81
82 //- Construct from patch and internal field
84 (
85 const fvPatch&,
87 );
88
89 //- Construct from patch, internal field and dictionary
91 (
92 const fvPatch&,
94 const dictionary&
95 );
96
97 //- Construct by mapping given
98 //- adjointRotatingWallVelocityFvPatchVectorField onto a new patch
100 (
102 const fvPatch&,
104 const fvPatchFieldMapper&
105 );
106
107 //- Construct and return a clone
108 virtual tmp<fvPatchVectorField> clone() const
109 {
111 (
113 );
114 }
115
116 //- Construct as copy setting internal field reference
118 (
121 );
122
123 //- Construct and return a clone setting internal field reference
125 (
127 ) const
128 {
130 (
132 );
133 }
134
135
136 // Member functions
137
138 //- Compute contribution to SDs
139 virtual tmp<tensorField> dxdbMult() const;
140
141 //- Write
142 virtual void write(Ostream&) const;
143};
144
145
146// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147
148} // End namespace Foam
149
150// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152#endif
153
154// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
The same as adjointWallVelocity but additionally computes the sensitivity contribution emerging from ...
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
virtual tmp< tensorField > dxdbMult() const
Compute contribution to SDs.
TypeName("adjointRotatingWallVelocity")
Runtime type information.
Adjoint wall velocity boundary condition. If nutUSpaldingWallFunction is employed in the flow solutio...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73