tractionDisplacementFvPatchVectorField.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 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::tractionDisplacementFvPatchVectorField
28
29Description
30 Fixed traction boundary condition for the standard linear elastic, fixed
31 coefficient displacement equation.
32
33SourceFiles
34 tractionDisplacementFvPatchVectorField.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef tractionDisplacementFvPatchVectorField_H
39#define tractionDisplacementFvPatchVectorField_H
40
41#include "fvPatchFields.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class tractionDisplacementFvPatch Declaration
51\*---------------------------------------------------------------------------*/
54:
55 public fixedGradientFvPatchVectorField
56{
57
58 // Private Data
59
60 vectorField traction_;
61 scalarField pressure_;
62
63
64public:
65
66 //- Runtime type information
67 TypeName("tractionDisplacement");
68
69
70 // Constructors
71
72 //- Construct from patch and internal field
74 (
75 const fvPatch&,
77 );
78
79 //- Construct from patch, internal field and dictionary
81 (
82 const fvPatch&,
84 const dictionary&
85 );
86
87 //- Construct by mapping given
88 // tractionDisplacementFvPatchVectorField onto a new patch
90 (
92 const fvPatch&,
95 );
96
97 //- Construct as copy
99 (
101 );
102
103 //- Construct and return a clone
104 virtual tmp<fvPatchVectorField> clone() const
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 // Access
136 virtual const vectorField& traction() const
137 {
138 return traction_;
139 }
141 virtual vectorField& traction()
142 {
143 return traction_;
144 }
146 virtual const scalarField& pressure() const
147 {
148 return pressure_;
149 }
151 virtual scalarField& pressure()
152 {
153 return pressure_;
154 }
155
156
157 // Mapping functions
158
159 //- Map (and resize as needed) from self given a mapping object
160 virtual void autoMap
161 (
162 const fvPatchFieldMapper&
163 );
164
165 //- Reverse map the given fvPatchField onto this fvPatchField
166 virtual void rmap
167 (
168 const fvPatchVectorField&,
169 const labelList&
170 );
171
172
173 //- Update the coefficients associated with the patch field
174 virtual void updateCoeffs();
175
176 //- Write
177 virtual void write(Ostream&) const;
178};
179
180
181// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182
183} // End namespace Foam
184
185// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
186
187#endif
188
189// ************************************************************************* //
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
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
Fixed traction boundary condition for the standard linear elastic, fixed coefficient displacement equ...
tractionDisplacementFvPatchVectorField(const tractionDisplacementFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
Construct as copy setting internal field reference.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
TypeName("tractionDisplacement")
Runtime type information.
tractionDisplacementFvPatchVectorField(const tractionDisplacementFvPatchVectorField &)
Construct as copy.
tractionDisplacementFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
tractionDisplacementFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73