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
OpenFOAM
matrices
lduMatrix
lduAddressing
lduInterfaceFields
lduInterfaceField
lduInterfaceField.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::lduInterfaceField
26
27
Description
28
An abstract base class for implicitly-coupled interface fields
29
e.g. processor and cyclic patch fields.
30
31
SourceFiles
32
lduInterfaceField.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef lduInterfaceField_H
37
#define lduInterfaceField_H
38
39
#include <
OpenFOAM/lduInterface.H
>
40
#include <
OpenFOAM/primitiveFieldsFwd.H
>
41
42
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44
namespace
Foam
45
{
46
47
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49
class
lduMatrix;
50
51
/*---------------------------------------------------------------------------*\
52
Class lduInterfaceField Declaration
53
\*---------------------------------------------------------------------------*/
54
55
class
lduInterfaceField
56
{
57
// Private data
58
59
//- Reference to the coupled patch this field is defined for
60
const
lduInterface
& interface_;
61
62
63
// Private Member Functions
64
65
//- Disallow default bitwise copy construct
66
lduInterfaceField
(
const
lduInterfaceField
&);
67
68
//- Disallow default bitwise assignment
69
void
operator=(
const
lduInterfaceField
&);
70
71
72
public
:
73
74
//- Runtime type information
75
TypeName
(
"lduInterfaceField"
);
76
77
78
// Constructors
79
80
//- Construct given coupled patch
81
lduInterfaceField
(
const
lduInterface
& patch)
82
:
83
interface_(patch)
84
{}
85
86
87
// Destructor
88
89
virtual
~lduInterfaceField
();
90
91
92
// Member Functions
93
94
// Access
95
96
//- Return the interface
97
const
lduInterface
&
interface
()
const
98
{
99
return
interface_;
100
}
101
102
//- Return the interface type
103
virtual
const
word
&
interfaceFieldType
()
const
104
{
105
return
type
();
106
}
107
108
109
// Coupled interface matrix update
110
111
//- Initialise neighbour matrix update
112
virtual
void
initInterfaceMatrixUpdate
113
(
114
const
scalarField
&,
115
scalarField
&,
116
const
lduMatrix
&,
117
const
scalarField
&,
118
const
direction
,
119
const
Pstream::commsTypes
commsType
120
)
const
121
{}
122
123
//- Update result field based on interface functionality
124
virtual
void
updateInterfaceMatrix
125
(
126
const
scalarField
&,
127
scalarField
&,
128
const
lduMatrix
&,
129
const
scalarField
&,
130
const
direction
,
131
const
Pstream::commsTypes
commsType
132
)
const
= 0;
133
};
134
135
136
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137
138
}
// End namespace Foam
139
140
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141
142
#endif
143
144
// ************************ vim: set sw=4 sts=4 et: ************************ //