Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
applications
solvers
stressAnalysis
solidEquilibriumDisplacementFoam
tractionDisplacementCorrection
tractionDisplacementCorrectionFvPatchVectorField.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
\*---------------------------------------------------------------------------*/
25
26
#ifndef tractionDisplacementCorrectionFvPatchVectorField_H
27
#define tractionDisplacementCorrectionFvPatchVectorField_H
28
29
#include <
finiteVolume/fvPatchFields.H
>
30
#include <
finiteVolume/fixedGradientFvPatchFields.H
>
31
32
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33
34
namespace
Foam
35
{
36
37
/*---------------------------------------------------------------------------*\
38
Class tractionDisplacementCorrectionStressFvPatch Declaration
39
\*---------------------------------------------------------------------------*/
40
41
class
tractionDisplacementCorrectionFvPatchVectorField
42
:
43
public
fixedGradientFvPatchVectorField
44
{
45
46
// Private Data
47
48
vectorField
traction_;
49
scalarField
pressure_;
50
51
52
public
:
53
54
//- Runtime type information
55
TypeName
(
"tractionDisplacement"
);
56
57
58
// Constructors
59
60
//- Construct from patch and internal field
61
tractionDisplacementCorrectionFvPatchVectorField
62
(
63
const
fvPatch
&,
64
const
DimensionedField<vector, volMesh>
&
65
);
66
67
//- Construct from patch, internal field and Istream
68
tractionDisplacementCorrectionFvPatchVectorField
69
(
70
const
fvPatch
&,
71
const
DimensionedField<vector, volMesh>
&,
72
Istream
&
73
);
74
75
//- Construct from patch, internal field and dictionary
76
tractionDisplacementCorrectionFvPatchVectorField
77
(
78
const
fvPatch
&,
79
const
DimensionedField<vector, volMesh>
&,
80
const
dictionary
&
81
);
82
83
//- Construct by mapping given
84
// tractionDisplacementCorrectionFvPatchVectorField onto a new patch
85
tractionDisplacementCorrectionFvPatchVectorField
86
(
87
const
tractionDisplacementCorrectionFvPatchVectorField
&,
88
const
fvPatch
&,
89
const
DimensionedField<vector, volMesh>
&,
90
const
fvPatchFieldMapper
&
91
);
92
93
//- Construct as copy setting internal field reference
94
tractionDisplacementCorrectionFvPatchVectorField
95
(
96
const
tractionDisplacementCorrectionFvPatchVectorField
&
97
);
98
99
//- Construct and return a clone
100
virtual
tmp<fvPatchVectorField>
clone
()
const
101
{
102
return
tmp<fvPatchVectorField>
103
(
104
new
tractionDisplacementCorrectionFvPatchVectorField
(*
this
)
105
);
106
}
107
108
//- Construct as copy setting internal field reference
109
tractionDisplacementCorrectionFvPatchVectorField
110
(
111
const
tractionDisplacementCorrectionFvPatchVectorField
&,
112
const
DimensionedField<vector, volMesh>
&
113
);
114
115
//- Construct and return a clone setting internal field reference
116
virtual
tmp<fvPatchVectorField>
clone
117
(
118
const
DimensionedField<vector, volMesh>
& iF
119
)
const
120
{
121
return
tmp<fvPatchVectorField>
122
(
123
new
tractionDisplacementCorrectionFvPatchVectorField
(*
this
, iF)
124
);
125
}
126
127
128
// Member functions
129
130
// Access
131
132
virtual
const
vectorField
&
traction
()
const
133
{
134
return
traction_;
135
}
136
137
virtual
vectorField
&
traction
()
138
{
139
return
traction_;
140
}
141
142
virtual
const
scalarField
&
pressure
()
const
143
{
144
return
pressure_;
145
}
146
147
virtual
scalarField
&
pressure
()
148
{
149
return
pressure_;
150
}
151
152
153
// Mapping functions
154
155
//- Map (and resize as needed) from self given a mapping object
156
virtual
void
autoMap
157
(
158
const
fvPatchFieldMapper
&
159
);
160
161
//- Reverse map the given fvPatchField onto this fvPatchField
162
virtual
void
rmap
163
(
164
const
fvPatchVectorField
&,
165
const
labelList
&
166
);
167
168
169
//- Update the coefficients associated with the patch field
170
virtual
void
updateCoeffs
();
171
172
//- Write
173
virtual
void
write
(
Ostream
&)
const
;
174
};
175
176
177
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178
179
}
// End namespace Foam
180
181
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182
183
#endif
184
185
// ************************ vim: set sw=4 sts=4 et: ************************ //