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
src
dynamicFvMesh
dynamicFvMesh
dynamicFvMesh.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::dynamicFvMesh
26
27
Description
28
Abstract base class for geometry and/or topology changing fvMesh.
29
30
SourceFiles
31
dynamicFvMesh.C
32
newDynamicFvMesh.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef dynamicFvMesh_H
37
#define dynamicFvMesh_H
38
39
#include <
finiteVolume/fvMesh.H
>
40
#include <
OpenFOAM/autoPtr.H
>
41
#include <
OpenFOAM/runTimeSelectionTables.H
>
42
43
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45
namespace
Foam
46
{
47
48
/*---------------------------------------------------------------------------*\
49
Class dynamicFvMesh Declaration
50
\*---------------------------------------------------------------------------*/
51
52
class
dynamicFvMesh
53
:
54
public
fvMesh
55
{
56
// Private Member Functions
57
58
//- Disallow default bitwise copy construct
59
dynamicFvMesh
(
const
dynamicFvMesh
&);
60
61
//- Disallow default bitwise assignment
62
void
operator=(
const
dynamicFvMesh
&);
63
64
65
public
:
66
67
//- Runtime type information
68
TypeName
(
"dynamicFvMesh"
);
69
70
71
// Declare run-time constructor selection table
72
73
declareRunTimeSelectionTable
74
(
75
autoPtr
,
76
dynamicFvMesh
,
77
IOobject
,
78
(
const
IOobject
& io),
79
(io)
80
);
81
82
83
// Constructors
84
85
//- Construct from objectRegistry, and read/write options
86
explicit
dynamicFvMesh
(
const
IOobject
& io);
87
88
//- Construct from components without boundary.
89
// Boundary is added using addFvPatches() member function
90
dynamicFvMesh
91
(
92
const
IOobject
& io,
93
const
Xfer<pointField>
&
points
,
94
const
Xfer<faceList>
&
faces
,
95
const
Xfer<labelList>
& allOwner,
96
const
Xfer<labelList>
& allNeighbour,
97
const
bool
syncPar =
true
98
);
99
100
//- Construct without boundary from cells rather than owner/neighbour.
101
// Boundary is added using addPatches() member function
102
dynamicFvMesh
103
(
104
const
IOobject
& io,
105
const
Xfer<pointField>
& points,
106
const
Xfer<faceList>
& faces,
107
const
Xfer<cellList>
&
cells
,
108
const
bool
syncPar =
true
109
);
110
111
112
// Selectors
113
114
//- Select null constructed
115
static
autoPtr<dynamicFvMesh>
New
(
const
IOobject
& io);
116
117
118
// Destructor
119
120
virtual
~dynamicFvMesh
();
121
122
123
// Member Functions
124
125
//- Update the mesh for both mesh motion and topology change
126
virtual
bool
update
() = 0;
127
};
128
129
130
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131
132
}
// End namespace Foam
133
134
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135
136
#endif
137
138
// ************************ vim: set sw=4 sts=4 et: ************************ //