42 character(len=20) :: WALLM_KNOWN_TYPES(2) = [character(len=20) :: &
56 module subroutine wall_model_factory(object, coef, msk, facet, nu, &
58 class(wall_model_t),
allocatable,
target,
intent(inout) :: object
59 type(coef_t),
intent(in) :: coef
60 integer,
intent(in) :: msk(:)
61 integer,
intent(in) :: facet(:)
62 real(kind=rp),
intent(in) :: nu
63 type(json_file),
intent(inout) :: json
64 character(len=:),
allocatable :: type_name
65 character(len=:),
allocatable :: type_string
69 new_line(
'A') //
"- ", prepend = .true.)
71 call json_get(json,
"type", type_name)
73 if (trim(type_name) .eq.
"spalding")
then
75 else if (trim(type_name) .eq.
"rough_log_law")
then
78 call neko_error(
"Unknown wall model type: " // trim(type_name) // &
79 trim(type_name) //
". Known types are: " // type_string)
83 call json_get(json,
"h_index", h_index)
86 call object%init(coef, msk, facet, nu, h_index, json)
88 end subroutine wall_model_factory
90 end submodule wall_model_fctry
Retrieves a parameter by name or throws an error.
Utilities for retrieving parameters from the case files.
Implements rough_log_law_t.
character(:) function, allocatable, public concat_string_array(array, sep, prepend)
Concatenate an array of strings into one string with array items separated by spaces.
Wall model based on the log-law for a rough wall. The formula defining the law is ....
Wall model based on Spalding's law of the wall. Reference: http://dx.doi.org/10.1115/1....
Implements the Vreman LES model.