108 type(case_t),
intent(inout) :: neko_case
110 logical :: scalar = .false.
111 real(kind=rp) :: real_val
112 character(len=:),
allocatable :: string_val
116 type(json_file) :: ic_json
117 character(len=:),
allocatable :: json_key
121 call json_get(neko_case%params,
'case.fluid.scheme', string_val)
124 call json_get(neko_case%params,
'case.numerics.polynomial_order', lx)
126 call this%scheme%init(neko_case%msh, lx, neko_case%params, neko_case%usr, &
127 neko_case%fluid%ext_bdf)
169 'case.adjoint_fluid.initial_condition',
'case.fluid.initial_condition')
171 call json_get(neko_case%params, json_key//
'.type', string_val)
174 if (trim(string_val) .ne.
'user')
then
176 this%scheme%u_adj, this%scheme%v_adj, this%scheme%w_adj, &
177 this%scheme%p_adj, this%scheme%c_Xh, this%scheme%gs_Xh, &
181 this%scheme%u_adj, this%scheme%v_adj, this%scheme%w_adj, &
182 this%scheme%p_adj, this%scheme%c_Xh, this%scheme%gs_Xh, &
183 neko_case%usr%fluid_user_ic, ic_json)
201 select type (f => this%scheme)
203 call f%ulag%set(f%u_adj)
204 call f%vlag%set(f%v_adj)
205 call f%wlag%set(f%w_adj)
211 call this%scheme%validate
221 call json_get_or_default(neko_case%params,
'case.output_precision', &
222 string_val,
'single')
224 if (trim(string_val) .eq.
'double')
then
233 call this%output_controller%init(neko_case%end_time)
236 path = trim(neko_case%output_directory))
239 path = trim(neko_case%output_directory))
242 call json_get_or_default(neko_case%params,
'case.fluid.output_control',&
245 if (trim(string_val) .eq.
'org')
then
247 call json_get(neko_case%params,
'case.nsamples', real_val)
248 call this%output_controller%add(this%f_out, real_val,
'nsamples')
249 else if (trim(string_val) .eq.
'never')
then
251 call json_get_or_default(neko_case%params,
'case.fluid.output_value', &
253 call this%output_controller%add(this%f_out, 0.0_rp, string_val)
255 call json_get(neko_case%params,
'case.fluid.output_value', real_val)
256 call this%output_controller%add(this%f_out, real_val, string_val)
character(len=:) function, allocatable, public json_key_fallback(json, lookup, fallback)
Create a json_string based on fallback logic. If the lookup key is present in the json object,...