37 use utils,
only: neko_type_error
43 use json_utils,
only : json_get
44 use utils,
only : concat_string_array, neko_error
48 character(len=20) :: MAPPING_KNOWN_TYPES(5) = [character(len=20) :: &
60 module subroutine mapping_factory(object, json, coef)
61 class(mapping_t),
allocatable,
intent(inout) :: object
62 type(json_file),
intent(inout) :: json
63 type(coef_t),
intent(inout) :: coef
64 character(len=:),
allocatable :: type_name
66 call json_get(json,
"type", type_name)
68 select case (trim(type_name))
77 case (
"heaviside_mapping",
"heaviside_projection")
80 call neko_type_error(
"Mapping function", type_name, mapping_known_types)
84 call object%init(json, coef)
86 end subroutine mapping_factory
88end 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.