Loading...
Searching...
No Matches
surfaceSlipDisplacementFvPatchField.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) 2011-2016 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::surfaceSlipDisplacementFvPatchField
28
29Description
30 fvPatchField corresponding to surfaceSlipDisplacementPointPatchField.
31 Is just a slip type since all hard work (projection) is done in the
32 pointPatch field.
33
34SourceFiles
35 surfaceSlipDisplacementFvPatchField.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef surfaceSlipDisplacementFvPatchField_H
40#define surfaceSlipDisplacementFvPatchField_H
41
42#include "slipFvPatchField.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class surfaceSlipDisplacementFvPatch Declaration
51\*---------------------------------------------------------------------------*/
52
53template<class Type>
55:
56 public slipFvPatchField<Type>
57{
58
59public:
60
61 //- Runtime type information
62 TypeName("surfaceSlipDisplacement");
63
64
65 // Constructors
66
67 //- Construct from patch and internal field
69 (
70 const fvPatch& p,
72 )
73 :
74 slipFvPatchField<Type>(p, iF)
75 {}
76
77 //- Construct from patch, internal field and dictionary
79 (
80 const fvPatch& p,
82 const dictionary& dict
83 )
84 :
86 {}
87
88 //- Construct by mapping given surfaceSlipDisplacementFvPatchField
89 // onto a new patch
91 (
93 const fvPatch& p,
95 const fvPatchFieldMapper& mapper
96 )
97 :
98 slipFvPatchField<Type>(ptf, p, iF, mapper)
99 {}
100
101
102 //- Construct as copy
104 (
106 )
107 :
108 slipFvPatchField<Type>(ptf)
109 {}
110
111 //- Construct as copy setting internal field reference
113 (
116 )
117 :
118 slipFvPatchField<Type>(ptf, iF)
119 {}
121 //- Return a clone
122 virtual tmp<fvPatchField<Type>> clone() const
123 {
124 return fvPatchField<Type>::Clone(*this);
125 }
126
127 //- Clone with an internal field reference
129 (
131 ) const
133 return fvPatchField<Type>::Clone(*this, iF);
134 }
135
136
137 virtual void write(Ostream& os) const
138 {
140 // Only so we can easily postprocess.
142 }
143};
144
145
146// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147
148} // End namespace Foam
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:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-volume patch fields.
virtual void write(Ostream &) const
Write.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
This boundary condition provides a slip constraint.
slipFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
fvPatchField corresponding to surfaceSlipDisplacementPointPatchField. Is just a slip type since all h...
surfaceSlipDisplacementFvPatchField(const fvPatch &p, const DimensionedField< Type, volMesh > &iF)
Construct from patch and internal field.
TypeName("surfaceSlipDisplacement")
Runtime type information.
surfaceSlipDisplacementFvPatchField(const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const dictionary &dict)
Construct from patch, internal field and dictionary.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
surfaceSlipDisplacementFvPatchField(const surfaceSlipDisplacementFvPatchField< Type > &ptf, const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const fvPatchFieldMapper &mapper)
Construct by mapping given surfaceSlipDisplacementFvPatchField.
surfaceSlipDisplacementFvPatchField(const surfaceSlipDisplacementFvPatchField< Type > &ptf, const DimensionedField< Type, volMesh > &iF)
Construct as copy setting internal field reference.
surfaceSlipDisplacementFvPatchField(const surfaceSlipDisplacementFvPatchField< Type > &ptf)
Construct as copy.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
A class for managing temporary objects.
Definition tmp.H:75
volScalarField & p
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
runTime write()
dictionary dict
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68