38 use,
intrinsic :: iso_c_binding, only : c_ptr, c_loc
44 real(kind=
rp),
dimension(3) :: x = (/0d0, 0d0, 0d0 /)
59 class(
inflow_t),
intent(inout) :: this
60 integer,
intent(in) :: n
61 real(kind=
rp),
intent(inout),
dimension(n) :: x
62 real(kind=
rp),
intent(in),
optional :: t
63 integer,
intent(in),
optional :: tstep
68 class(
inflow_t),
intent(inout),
target :: this
70 real(kind=
rp),
intent(in),
optional :: t
71 integer,
intent(in),
optional :: tstep
76 class(
inflow_t),
intent(inout) :: this
77 integer,
intent(in) :: n
78 real(kind=
rp),
intent(inout),
dimension(n) :: x
79 real(kind=
rp),
intent(inout),
dimension(n) :: y
80 real(kind=
rp),
intent(inout),
dimension(n) :: z
81 real(kind=
rp),
intent(in),
optional :: t
82 integer,
intent(in),
optional :: tstep
96 class(
inflow_t),
intent(inout),
target :: this
100 real(kind=
rp),
intent(in),
optional :: t
101 integer,
intent(in),
optional :: tstep
104 c_loc(this%x), this%msk(0))
110 class(
inflow_t),
intent(inout) :: this
111 real(kind=
rp),
dimension(3),
intent(inout) :: x
117 class(
inflow_t),
target,
intent(inout) :: this
119 call this%free_base()
Defines a boundary condition.
subroutine, public device_inflow_apply_vector(msk, x, y, z, g, m)
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_free(this)
Destructor.
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.
Base type for a boundary condition.
Dirichlet condition for inlet (vector valued)