REMORA
Regional Modeling of Oceans Refined Adaptively
Loading...
Searching...
No Matches
REMORA_InitAnalyticBathymetry_DoublyPeriodic.H
Go to the documentation of this file.
1
2
mf_h
.setVal(
geomdata
.ProbHi(2));
3
4
const
int
Lm
=
geom
.Domain().size()[0];
5
const
int
Mm
=
geom
.Domain().size()[1];
6
7
for
(
MFIter
mfi
(
mf_h
,
TilingIfNotGPU
());
mfi
.isValid(); ++
mfi
)
8
{
9
Array4<Real>
const
&
h
= (
mf_h
).array(
mfi
);
10
11
Box
bx
=
mfi
.tilebox();
12
Box
gbx2
=
bx
;
13
// See the note in REMORA_InitAnalyticBathymetry_Seamount.H
14
gbx2
.grow(
mf_h
.nGrowVect());
15
16
// auto N = geom.Domain().length(2); // Number of vertical "levels" aka, NZ
17
18
Box
gbx2D
=
gbx2
;
19
gbx2D
.makeSlab(2,0);
20
21
Gpu::streamSynchronize();
22
ParallelFor
(
gbx2D
, [=]
AMREX_GPU_DEVICE
(
int
i
,
int
j
,
int
)
23
{
24
Real
val1
;
25
[[
maybe_unused
]] Real
val2
;
26
int
iFort
=
i
+1;
27
int
jFort
=
j
+1;
28
if
(
NSPeriodic
) {
29
if
(
iFort
<=
Lm
/
two
) {
30
val1
=
iFort
;
31
}
else
{
32
val1
=
Lm
+1-
iFort
;
33
}
34
h
(
i
,
j
,0) = std::min(-
geomdata
.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1
-Real(10.0))/Real(7.0))));
35
}
36
else
if
(
EWPeriodic
) {
37
if
(
jFort
<=
Mm
/
two
) {
38
val1
=
jFort
;
39
}
else
{
40
val1
=
Mm
+1-
jFort
;
41
}
42
h
(
i
,
j
,0) = std::min(-
geomdata
.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1
-Real(10.0))/Real(7.0))));
43
}
44
});
45
}
// mfi
two
constexpr amrex::Real two
Definition
REMORA_Constants.H:8
Mm
const int Mm
Definition
REMORA_InitAnalyticBathymetry_DoublyPeriodic.H:5
Lm
const int Lm
Definition
REMORA_InitAnalyticBathymetry_DoublyPeriodic.H:4
setVal
mf_h setVal(geomdata.ProbHi(2))
geomdata
auto geomdata
Definition
REMORA_InitAnalyticGridScale_BoundaryLayer.H:2
NSPeriodic
bool NSPeriodic
Definition
REMORA_InitAnalyticProb_ChannelTest.H:12
EWPeriodic
bool EWPeriodic
Definition
REMORA_InitAnalyticProb_ChannelTest.H:11
val2
Real val2
Definition
REMORA_InitAnalyticProb_DoubleGyre.H:13
val1
Real val1
Definition
REMORA_InitAnalyticProb_DoubleGyre.H:12
Source
Prob
REMORA_InitAnalyticBathymetry_DoublyPeriodic.H
Generated by
1.9.8