FlexELA
Loading...
Searching...
No Matches
src
globalVariables.h
1
#ifndef GLOBAL_VARIABLES_H
2
#define GLOBAL_VARIABLES_H
3
4
#ifdef ELA_USE_MPI
5
#include "domain/mpidomain.h"
6
#else
7
#include "domain/domain.h"
8
#endif
9
10
namespace
ela {
11
12
#ifdef ELA_USE_MPI
13
typedef
domain::MPIDomain
DomainType;
14
#else
15
typedef
domain::Domain
DomainType;
16
#endif
17
18
extern
DomainType* dom;
19
20
extern
int
inputPad[6];
21
22
template
<
class
T>
23
fields::Helper<T>
wrapField(T* in)
24
{
25
return
fields::Helper<T>
(in, dom->
n
, inputPad);
26
}
27
28
template
<
class
T>
29
fields::Helper<T>
wrapRow(T* in,
const
int
& d)
30
{
31
assert(d >= 0 && d < 3);
32
33
int
n[3] = {1, 1, 1};
34
int
pad[6] = {0, 0, 0, 0, 0, 0};
35
36
n[d] = ela::dom->
n
[d];
37
pad[2 * d] = ela::inputPad[2 * d];
38
pad[(2 * d) + 1] = ela::inputPad[(2 * d) + 1];
39
40
return
fields::Helper<T>
(in, n, pad);
41
}
42
43
}
// namespace ela
44
45
#endif
domain::MPIDomain
An extension of Domain for parallelization with MPI.
Definition
mpidomain.h:14
fields::Helper
A helper class to wrap pointers to padded 3D cartesian data.
Definition
fields.h:27
domain::Domain
A wrapper for global ELA data.
Definition
domain.h:43
domain::Domain::n
const int n[3]
Storage for ni, nj, and nk.
Definition
domain.h:57
Declan B. Gaylo
© 2024. Documentation generated with
doxygen
.
Source Code