OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
meshTools
AMIInterpolation
AMIInterpolation
AMIMethod
directAMI
directAMI.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) 2013-2016 OpenFOAM Foundation
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::directAMI
26
27
Description
28
Direct mapped Arbitrary Mesh Interface (AMI) method
29
30
SourceFiles
31
directAMI.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef directAMI_H
36
#define directAMI_H
37
38
#include "
AMIMethod.H
"
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
/*---------------------------------------------------------------------------*\
46
Class directAMI Declaration
47
\*---------------------------------------------------------------------------*/
48
49
template
<
class
SourcePatch,
class
TargetPatch>
50
class
directAMI
51
:
52
public
AMIMethod
<SourcePatch, TargetPatch>
53
{
54
55
private
:
56
57
// Private Member Functions
58
59
//- Disallow default bitwise copy construct
60
directAMI
(
const
directAMI
&);
61
62
//- Disallow default bitwise assignment
63
void
operator=(
const
directAMI
&);
64
65
// Marching front
66
67
//- Append to list of src face seed indices
68
void
appendToDirectSeeds
69
(
70
labelList
& mapFlag,
71
labelList
& srcTgtSeed,
72
DynamicList<label>
& srcSeeds,
73
DynamicList<label>
& nonOverlapFaces,
74
label
& srcFacei,
75
label
& tgtFacei
76
)
const
;
77
78
//- Restart the advancing front - typically happens for
79
// disconnected regions
80
void
restartAdvancingFront
81
(
82
labelList
& mapFlag,
83
DynamicList<label>
& nonOverlapFaces,
84
label
& srcFacei,
85
label
& tgtFacei
86
)
const
;
87
88
89
// Evaluation
90
91
//- Area of intersection between source and target faces
92
scalar interArea
93
(
94
const
label
srcFacei,
95
const
label
tgtFacei
96
)
const
;
97
98
99
public
:
100
101
//- Runtime type information
102
TypeName
(
"directAMI"
);
103
104
105
// Constructors
106
107
//- Construct from components
108
directAMI
109
(
110
const
SourcePatch& srcPatch,
111
const
TargetPatch& tgtPatch,
112
const
scalarField
& srcMagSf,
113
const
scalarField
& tgtMagSf,
114
const
faceAreaIntersect::triangulationMode
& triMode,
115
const
bool
reverseTarget =
false
,
116
const
bool
requireMatch =
true
117
);
118
119
120
//- Destructor
121
virtual
~directAMI
();
122
123
124
// Member Functions
125
126
// Manipulation
127
128
//- Update addressing and weights
129
virtual
void
calculate
130
(
131
labelListList
& srcAddress,
132
scalarListList
& srcWeights,
133
labelListList
& tgtAddress,
134
scalarListList
& tgtWeights,
135
label
srcFacei = -1,
136
label
tgtFacei = -1
137
);
138
};
139
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
}
// End namespace Foam
144
145
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146
147
#ifdef NoRepository
148
#include "
directAMI.C
"
149
#endif
150
151
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152
153
#endif
154
155
// ************************************************************************* //
Foam::directAMI
Direct mapped Arbitrary Mesh Interface (AMI) method.
Definition:
directAMI.H:49
Foam::label
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition:
label.H:59
Foam::List< label >
Foam::directAMI::TypeName
TypeName("directAMI")
Runtime type information.
AMIMethod.H
directAMI.C
Foam::DynamicList< label >
Foam::Field< scalar >
Foam::directAMI::calculate
virtual void calculate(labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label srcFacei=-1, label tgtFacei=-1)
Update addressing and weights.
Definition:
directAMI.C:226
Foam::AMIMethod
Base class for Arbitrary Mesh Interface (AMI) methods.
Definition:
AMIMethod.H:55
Foam::directAMI::~directAMI
virtual ~directAMI()
Destructor.
Definition:
directAMI.C:218
Foam::faceAreaIntersect::triangulationMode
triangulationMode
Definition:
faceAreaIntersect.H:60
Foam
Namespace for OpenFOAM.
Definition:
combustionModel.C:30
Generated by
1.8.11