45 real(kind=
rp) :: t_begin
58 real(kind=
rp),
intent(in) :: t_begin
59 character(len=*),
intent(in),
optional :: name
60 character(len=*),
intent(in),
optional :: path
62 character(len=1024) :: fname
64 if (
present(name) .and.
present(path))
then
65 fname = trim(path) // trim(name) //
'.fld'
66 else if (
present(name))
then
67 fname = trim(name) //
'.fld'
68 else if (
present(path))
then
69 fname = trim(path) //
'stats.fld'
74 call this%init_base(fname)
76 this%T_begin = t_begin
82 real(kind=
rp),
intent(in) :: t
84 associate(out_fields => this%stats%stat_fields%fields)
85 if (t .ge. this%T_begin)
then
86 call this%stats%make_strong_grad()
88 do i = 1,
size(out_fields)
91 sync=(i .eq.
size(out_fields)))
94 call this%file_%write(this%stats%stat_fields, t)
95 call this%stats%reset()
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(fluid_stats_output_t) function fluid_stats_output_init(stats, T_begin, name, path)
subroutine fluid_stats_output_sample(this, t)
Sample a mean flow field at time t.
Computes various statistics for the fluid fields. We use the Reynolds decomposition for a field u = ...
integer, parameter neko_bcknd_device
integer, parameter, public rp
Global precision used in computations.
Defines a container for all statistics.
Abstract type defining an output type.