42 character(len=20) :: LES_KNOWN_TYPES(4) = [character(len=20) :: &
45 "dymamic_smagorinsky", &
55 module subroutine les_model_factory(object, type_name,
dofmap, coef, json)
56 class(les_model_t),
allocatable,
target,
intent(inout) :: object
57 character(len=*),
intent(in) :: type_name
58 type(dofmap_t),
intent(in) :: dofmap
59 type(coef_t),
intent(in) :: coef
60 type(json_file),
intent(inout) :: json
61 character(len=:),
allocatable :: type_string
63 if (
allocated(object))
then
65 else if (trim(type_name) .eq.
'vreman')
then
67 else if (trim(type_name) .eq.
'smagorinsky')
then
69 else if (trim(type_name) .eq.
'dynamic_smagorinsky')
then
71 else if (trim(type_name) .eq.
'sigma')
then
75 new_line(
'A') //
"- ", .true.)
77 // trim(type_name) //
". Known types are: " &
82 call object%init(
dofmap, coef, json)
83 end subroutine les_model_factory
85 end submodule les_model_fctry
Defines a mapping of the degrees of freedom.
Implements dynamic_smagorinsky_t.
Implements smagorinsky_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.
Implements the dynamic Smagorinsky LES model.
Implements the Sigma LES model.
Implements the smagorinsky LES model.
Implements the Vreman LES model.