44 real(kind=
rp) :: t_begin
57 real(kind=
rp),
intent(in) :: t_begin
58 character(len=*),
intent(in),
optional :: name
59 character(len=*),
intent(in),
optional :: path
61 character(len=1024) :: fname
63 if (
present(name) .and.
present(path))
then
64 fname = trim(path) // trim(name) //
'.fld'
65 else if (
present(name))
then
66 fname = trim(name) //
'.fld'
67 else if (
present(path))
then
68 fname = trim(path) //
'mean_field.fld'
70 fname =
'mean_field.fld'
73 call this%init_base(fname)
75 this%T_begin = t_begin
81 real(kind=
rp),
intent(in) :: t
83 if (t .ge. this%T_begin)
then
84 call device_memcpy(this%mf%p%mf%x, this%mf%p%mf%x_d, this%mf%p%mf%dof%size(), &
86 call device_memcpy(this%mf%u%mf%x, this%mf%u%mf%x_d, this%mf%p%mf%dof%size(), &
88 call device_memcpy(this%mf%v%mf%x, this%mf%v%mf%x_d, this%mf%p%mf%dof%size(), &
90 call device_memcpy(this%mf%w%mf%x, this%mf%w%mf%x_d, this%mf%p%mf%dof%size(), &
92 call this%file_%write(this%mf, t)
Copy data between host and device (or device and device)
Device abstraction, common interface for various accelerators.
integer, parameter, public device_to_host
Defines an output for a mean flow field.
type(mean_flow_output_t) function mean_flow_output_init(mf, T_begin, name, path)
subroutine mean_flow_output_sample(this, t)
Sample a mean flow field at time t.
Defines a mean flow field.
integer, parameter, public rp
Global precision used in computations.
Abstract type defining an output type.