Proto
include
Proto_Operator.H
1
#pragma once
2
3
#include "Proto_BoxData.H"
4
//#include "AMRState.H"
5
6
namespace
Operator
{
7
8
using namespace
Proto
;
9
10
/*
11
template<unsigned int C>
12
inline void faceDivergence(PatchState<C, 0>& a_div,
13
const PatchState<0,C>& a_flux,
14
double a_dx);
15
*/
17
20
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
21
inline
BoxData<T,C,D,E>
convolve(
22
const
BoxData<T,C,D,E>
& a_ctr,
23
const
BoxData<T,C,D,E>
& a_2nd);
24
26
29
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
30
inline
void
convolve(
31
BoxData<T,C,D,E>
& a_avg,
32
const
BoxData<T,C,D,E>
& a_ctr,
33
const
BoxData<T,C,D,E>
& a_2nd);
34
36
39
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
40
inline
BoxData<T,C,D,E>
deconvolve(
41
const
BoxData<T,C,D,E>
& a_avg,
42
const
BoxData<T,C,D,E>
& a_2nd);
43
45
48
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
49
inline
void
deconvolve(
50
BoxData<T,C,D,E>
& a_ctr,
51
const
BoxData<T,C,D,E>
& a_avg,
52
const
BoxData<T,C,D,E>
& a_2nd);
53
55
58
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
59
inline
BoxData<T,C,D,E>
convolveFace(
60
const
BoxData<T,C,D,E>
& a_ctr,
61
const
BoxData<T,C,D,E>
& a_2nd,
62
int
a_dir);
63
65
68
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
69
inline
void
convolveFace(
70
BoxData<T,C,D,E>
& a_avg,
71
const
BoxData<T,C,D,E>
& a_ctr,
72
const
BoxData<T,C,D,E>
& a_2nd,
73
int
a_dir);
74
76
79
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
80
inline
BoxData<T,C,D,E>
deconvolveFace(
81
const
BoxData<T,C,D,E>
& a_avg,
82
const
BoxData<T,C,D,E>
& a_2nd,
83
int
a_dir);
84
86
89
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
90
inline
void
deconvolveFace(
91
BoxData<T,C,D,E>
& a_ctr,
92
const
BoxData<T,C,D,E>
& a_avg,
93
const
BoxData<T,C,D,E>
& a_2nd,
94
int
a_dir);
95
97
100
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
101
inline
BoxData<T,C,D,E>
cellProduct(
102
const
BoxData<T,C,D,E>
& a_pavg,
103
const
BoxData<T,C,D,E>
& a_qavg,
104
const
BoxData<T,C,D,E>
& a_p2nd,
105
const
BoxData<T,C,D,E>
& a_q2nd);
106
108
111
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
112
inline
void
cellProduct(
113
BoxData<T,C,D,E>
& a_product,
114
const
BoxData<T,C,D,E>
& a_pavg,
115
const
BoxData<T,C,D,E>
& a_qavg,
116
const
BoxData<T,C,D,E>
& a_p2nd,
117
const
BoxData<T,C,D,E>
& a_q2nd);
118
120
123
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
124
inline
BoxData<T,C,D,E>
faceProduct(
125
const
BoxData<T,C,D,E>
& a_pavg,
126
const
BoxData<T,C,D,E>
& a_qavg,
127
const
BoxData<T,C,D,E>
& a_p2nd,
128
const
BoxData<T,C,D,E>
& a_q2nd,
129
int
a_dir);
130
132
135
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
136
inline
void
faceProduct(
BoxData<T,C,D,E>
& a_dest,
137
const
BoxData<T,C,D,E>
& a_pavg,
138
const
BoxData<T,C,D,E>
& a_qavg,
139
const
BoxData<T,C,D,E>
& a_p2nd,
140
const
BoxData<T,C,D,E>
& a_q2nd,
141
int
a_dir);
142
144
147
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
148
inline
BoxData<T,C,D,E>
cellQuotient(
149
const
BoxData<T,C,D,E>
& a_pavg,
150
const
BoxData<T,C,D,E>
& a_qavg,
151
const
BoxData<T,C,D,E>
& a_p2nd,
152
const
BoxData<T,C,D,E>
& a_q2nd);
153
155
158
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
159
inline
void
cellQuotient(
160
BoxData<T,C,D,E>
& a_quotient,
161
const
BoxData<T,C,D,E>
& a_pavg,
162
const
BoxData<T,C,D,E>
& a_qavg,
163
const
BoxData<T,C,D,E>
& a_p2nd,
164
const
BoxData<T,C,D,E>
& a_q2nd);
165
167
170
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
171
inline
BoxData<T,C,D,E>
faceQuotient(
172
const
BoxData<T,C,D,E>
& a_pavg,
173
const
BoxData<T,C,D,E>
& a_qavg,
174
const
BoxData<T,C,D,E>
& a_p2nd,
175
const
BoxData<T,C,D,E>
& a_q2nd,
176
int
a_dir);
177
179
182
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
183
inline
void
faceQuotient(
184
BoxData<T,C,D,E>
& a_quotient,
185
const
BoxData<T,C,D,E>
& a_pavg,
186
const
BoxData<T,C,D,E>
& a_qavg,
187
const
BoxData<T,C,D,E>
& a_p2nd,
188
const
BoxData<T,C,D,E>
& a_q2nd,
189
int
a_dir);
190
192
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
193
inline
BoxData<T,C,D,E>
cellToFace(
194
const
BoxData<T,C,D,E>
& a_cell,
195
int
a_dir);
196
198
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
199
inline
void
cellToFace(
200
BoxData<T,C,D,E>
& a_face,
201
const
BoxData<T,C,D,E>
& a_cell,
202
int
a_dir);
203
205
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
206
inline
BoxData<T,C,D,E>
diffCellToFace(
207
const
BoxData<T,C,D,E>
& a_data,
208
int
a_dir);
209
211
template
<
class
T,
unsigned
int
C,
unsigned
char
D,
unsigned
char
E>
212
inline
void
diffCellToFace(
213
BoxData<T,C,D,E>
& a_deriv,
214
const
BoxData<T,C,D,E>
& a_data,
215
int
a_dir);
216
}
217
#include "implem/Proto_OperatorI.H"
Operator
Definition:
Proto_Operator.H:6
Proto::BoxData
Multidimensional Rectangular Array.
Definition:
Proto_BoxData.H:458
Proto
Definition:
Proto_Box.H:11
Generated by
1.8.13