37 use utils,
only: neko_type_error
44 use json_utils,
only : json_get
45 use utils,
only : concat_string_array, neko_error
49 character(len=20) :: MAPPING_KNOWN_TYPES(6) = [character(len=20) :: &
53 "Borrvall_Petersson", &
62 module subroutine mapping_factory(object, json, coef)
63 class(mapping_t),
allocatable,
intent(inout) :: object
64 type(json_file),
intent(inout) :: json
65 type(coef_t),
intent(inout) :: coef
66 character(len=:),
allocatable :: type_name
68 call json_get(json,
"type", type_name)
70 select case (trim(type_name))
77 case (
"Borrvall_Petersson")
81 case (
"heaviside_mapping",
"heaviside_projection")
84 call neko_type_error(
"Mapping function", type_name, mapping_known_types)
88 call object%init(json, coef)
90 end subroutine mapping_factory
92end submodule mapping_fctry
Smooth Heaviside mapping.
A linear mapping of coefficients.
Mappings to be applied to a scalar field.
A RAMP mapping of coefficients.
A SIMP mapping of coefficients.
Smooth Heaviside mapping.
A linear mapping of coefficients $f(x) = f_{min} + (f_{max} - f_{min}) x$.
A PDE based filter mapping , see Lazarov & O. Sigmund 2010, by solving an equation of the form .
A RAMP mapping of coefficients This is the standard RAMP described in https://doi....
A SIMP mapping of coefficients.