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
utilities
postProcessing
dataConversion
foamToVTK
patchWriter.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
Class
25
Foam::patchWriter
26
27
Description
28
Write patch fields
29
30
SourceFiles
31
patchWriter.C
32
patchWriterTemplates.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef patchWriter_H
37
#define patchWriter_H
38
39
#include <
OpenFOAM/pointMesh.H
>
40
#include <
OpenFOAM/OFstream.H
>
41
#include <
finiteVolume/volFields.H
>
42
#include <
OpenFOAM/pointFields.H
>
43
#include "
vtkMesh.H
"
44
#include <
OpenFOAM/indirectPrimitivePatch.H
>
45
#include <
OpenFOAM/PrimitivePatchInterpolation_.H
>
46
47
using namespace
Foam;
48
49
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51
namespace
Foam
52
{
53
54
class
volPointInterpolation
;
55
56
/*---------------------------------------------------------------------------*\
57
Class patchWriter Declaration
58
\*---------------------------------------------------------------------------*/
59
60
class
patchWriter
61
{
62
const
vtkMesh
& vMesh_;
63
64
const
bool
binary_;
65
66
const
bool
nearCellValue_;
67
68
const
fileName
fName_;
69
70
const
labelList
patchIDs_;
71
72
std::ofstream os_;
73
74
label nPoints_;
75
76
label nFaces_;
77
78
public
:
79
80
// Constructors
81
82
//- Construct from components
83
patchWriter
84
(
85
const
vtkMesh
&,
86
const
bool
binary,
87
const
bool
nearCellValue,
88
const
fileName
&,
89
const
labelList
& patchIDs
90
);
91
92
93
// Member Functions
94
95
std::ofstream& os()
96
{
97
return
os_;
98
}
99
100
label
nPoints
()
const
101
{
102
return
nPoints_;
103
}
104
105
label nFaces()
const
106
{
107
return
nFaces_;
108
}
109
110
//- Write cellIDs
111
void
writePatchIDs();
112
113
//- Write volFields
114
template
<
class
Type>
115
void
write
116
(
117
const
PtrList
<
GeometricField<Type, fvPatchField, volMesh>
>&
118
);
119
120
//- Write pointFields
121
template
<
class
Type>
122
void
write
123
(
124
const
PtrList
<
GeometricField<Type, pointPatchField, pointMesh>
>&
125
);
126
127
//- Interpolate and write volFields
128
template
<
class
Type>
129
void
write
130
(
131
const
PrimitivePatchInterpolation<primitivePatch>
&,
132
const
PtrList
<
GeometricField<Type, fvPatchField, volMesh>
>&
133
);
134
};
135
136
137
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138
139
}
// End namespace Foam
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
#ifdef NoRepository
144
# include "
patchWriterTemplates.C
"
145
#endif
146
147
148
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149
150
#endif
151
152
// ************************ vim: set sw=4 sts=4 et: ************************ //