Loading...
Searching...
No Matches
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{
49/*---------------------------------------------------------------------------*\
50 Class tractionDisplacementFvPatch Declaration
51\*---------------------------------------------------------------------------*/
52
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 as copy setting internal field reference
105 (
108 );
109
110 //- Return a clone
111 virtual tmp<fvPatchField<vector>> clone() const
113 return fvPatchField<vector>::Clone(*this);
114 }
115
116 //- Clone with an internal field reference
118 (
120 ) const
122 return fvPatchField<vector>::Clone(*this, iF);
123 }
124
125
126 // Member functions
127
128 // Access
130 virtual const vectorField& traction() const
131 {
132 return traction_;
133 }
134
135 virtual vectorField& traction()
136 {
137 return traction_;
138 }
139
140 virtual const scalarField& pressure() const
141 {
142 return pressure_;
143 }
144
145 virtual scalarField& pressure()
146 {
147 return pressure_;
148 }
149
150
151 // Mapping functions
153 //- Map (and resize as needed) from self given a mapping object
154 virtual void autoMap
155 (
156 const fvPatchFieldMapper&
157 );
158
159 //- Reverse map the given fvPatchField onto this fvPatchField
160 virtual void rmap
161 (
162 const fvPatchVectorField&,
163 const labelList&
164 );
165
166
167 //- Update the coefficients associated with the patch field
168 virtual void updateCoeffs();
169
170 //- Write
171 virtual void write(Ostream&) const;
172};
173
174
175// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177} // End namespace Foam
178
179// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
180
181#endif
182
183// ************************************************************************* //
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.
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
A class for managing temporary objects.
Definition tmp.H:75
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.
tractionDisplacementFvPatchVectorField(const tractionDisplacementFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
Construct by mapping given.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
TypeName("tractionDisplacement")
Runtime type information.
tractionDisplacementFvPatchVectorField(const tractionDisplacementFvPatchVectorField &)
Construct as copy.
virtual tmp< fvPatchField< vector > > clone(const DimensionedField< vector, volMesh > &iF) const
Clone with an internal field reference.
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.
List< label > labelList
A List of labels.
Definition List.H:62
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
fvPatchField< vector > fvPatchVectorField
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68