38 use json_module,
only : json_file
58 procedure, pass(this) :: init_from_attributes => &
73 type(json_file),
intent(inout) :: json
74 class(
case_t),
intent(inout),
target :: case
75 character(len=:),
allocatable :: filename
76 character(len=:),
allocatable :: precision
77 character(len=20),
allocatable :: fields(:)
79 call this%init_base(json,
case)
80 call json_get(json,
"fields", fields)
82 if (json%valid_path(
"output_filename"))
then
83 call json_get(json,
"output_filename", filename)
84 if (json%valid_path(
"output_precision"))
then
85 call json_get(json,
"output_precision", precision)
86 if (precision ==
"double")
then
107 character(len=20),
allocatable,
intent(in) :: fields(:)
108 character(len=*),
intent(in),
optional :: filename
109 integer,
intent(in),
optional :: precision
110 character(len=20) :: fieldi
115 fieldi = trim(fields(i))
117 ignore_existing=.true.)
120 if (
present(filename))
then
121 if (
present(precision))
then
122 call this%output%init(precision, filename,
size(fields))
124 call this%output%init(
sp, filename,
size(fields))
127 fieldi = trim(fields(i))
131 call this%case%output_controller%add(this%output, &
132 this%output_controller%control_value, &
133 this%output_controller%control_mode)
136 fieldi = trim(fields(i))
146 call this%free_base()
154 real(kind=
rp),
intent(in) :: t
155 integer,
intent(in) :: tstep
Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the m...
Retrieves a parameter by name or throws an error.
Defines a simulation case.
Defines a registry for storing solution fields.
type(field_registry_t), target, public neko_field_registry
Global field registry.
Implements the field_writer_t type.
subroutine field_writer_free(this)
Destructor.
subroutine field_writer_init_from_attributes(this, fields, filename, precision)
Actual constructor.
subroutine field_writer_init_from_json(this, json, case)
Constructor from json.
subroutine field_writer_compute(this, t, tstep)
Here to comply with the interface, does nothing.
Implements fld_file_output_t.
Utilities for retrieving parameters from the case files.
integer, parameter, public dp
integer, parameter, public sp
integer, parameter, public rp
Global precision used in computations.
subroutine, public curl(w1, w2, w3, u1, u2, u3, work1, work2, coef)
Simulation components are objects that encapsulate functionality that can be fit to a particular comp...
A simulation component that writes a 3d field to a file.
A simple output saving a list of fields to a .fld file.
Base abstract class for simulation components.