38 use,
intrinsic :: iso_c_binding, only : c_ptr, c_loc
44 real(kind=
rp),
dimension(3) :: x = (/0d0, 0d0, 0d0 /)
57 class(
inflow_t),
intent(inout) :: this
58 integer,
intent(in) :: n
59 real(kind=
rp),
intent(inout),
dimension(n) :: x
60 real(kind=
rp),
intent(in),
optional :: t
61 integer,
intent(in),
optional :: tstep
66 class(
inflow_t),
intent(inout),
target :: this
68 real(kind=
rp),
intent(in),
optional :: t
69 integer,
intent(in),
optional :: tstep
74 class(
inflow_t),
intent(inout) :: this
75 integer,
intent(in) :: n
76 real(kind=
rp),
intent(inout),
dimension(n) :: x
77 real(kind=
rp),
intent(inout),
dimension(n) :: y
78 real(kind=
rp),
intent(inout),
dimension(n) :: z
79 real(kind=
rp),
intent(in),
optional :: t
80 integer,
intent(in),
optional :: tstep
94 class(
inflow_t),
intent(inout),
target :: this
98 real(kind=
rp),
intent(in),
optional :: t
99 integer,
intent(in),
optional :: tstep
102 c_loc(this%x), this%msk(0))
108 class(
inflow_t),
intent(inout) :: this
109 real(kind=
rp),
dimension(3),
intent(inout) :: x
subroutine, public device_inflow_apply_vector(msk, x, y, z, g, m)
Defines a dirichlet boundary condition.
Defines inflow dirichlet conditions.
subroutine inflow_set_vector(this, x)
Set inflow vector.
subroutine inflow_apply_scalar(this, x, n, t, tstep)
No-op scalar apply.
subroutine inflow_apply_vector_dev(this, x_d, y_d, z_d, t, tstep)
Apply inflow conditions (vector valued) (device version)
subroutine inflow_apply_vector(this, x, y, z, n, t, tstep)
Apply inflow conditions (vector valued)
subroutine inflow_apply_scalar_dev(this, x_d, t, tstep)
No-op scalar apply (device version)
integer, parameter, public rp
Global precision used in computations.
Generic Dirichlet boundary condition on .
Dirichlet condition for inlet (vector valued)