Alamo
src
Numeric
Advect
Limiter
VanAlbada.H
Go to the documentation of this file.
1
#ifndef NUMERIC_ADVECT_LIMITER_VANALBADA_H
2
#define NUMERIC_ADVECT_LIMITER_VANALBADA_H
3
4
#include "
IO/ParmParse.H
"
5
#include "
Util/Util.H
"
6
7
namespace
Numeric
8
{
9
namespace
Advect
10
{
11
namespace
Limiter
12
{
13
class
VanAlbada
14
{
15
public
:
16
static
constexpr
const
char
*
name
=
"vanalbada"
;
17
18
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
19
Set::Scalar
operator()
(
Set::Scalar
lo,
Set::Scalar
mid,
Set::Scalar
hi)
const
20
{
21
Set::Scalar
dl = mid - lo;
22
Set::Scalar
dr = hi - mid;
23
if
(dl * dr <=
Set::Scalar
(0.0))
return
Set::Scalar
(0.0);
24
Set::Scalar
r = dl / dr;
25
Set::Scalar
phi = (r * r + r) / (r * r +
Set::Scalar
(1.0));
26
return
phi * dr;
27
}
28
29
void
Parse
(
VanAlbada
&
/*value*/
,
IO::ParmParse
&
/*pp*/
) {}
30
};
31
}
32
}
33
}
34
35
#endif
ParmParse.H
Util.H
IO::ParmParse
Definition
ParmParse.H:116
Numeric::Advect::Limiter::VanAlbada
Definition
VanAlbada.H:14
Numeric::Advect::Limiter::VanAlbada::operator()
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE Set::Scalar operator()(Set::Scalar lo, Set::Scalar mid, Set::Scalar hi) const
Definition
VanAlbada.H:19
Numeric::Advect::Limiter::VanAlbada::Parse
void Parse(VanAlbada &, IO::ParmParse &)
Definition
VanAlbada.H:29
Numeric::Advect::Limiter::VanAlbada::name
static constexpr const char * name
Definition
VanAlbada.H:16
Numeric
This namespace contains some numerical tools.
Definition
Advect.H:14
Set::Scalar
amrex::Real Scalar
Definition
Base.H:19
Generated by
1.9.8