35 use num_types,
only: rp, sp
36 use field,
only: field_t
37 use json_module,
only: json_file
41 use coefs,
only: coef_t
42 use scratch_registry,
only: neko_scratch_registry
43 use fld_file_output,
only: fld_file_output_t
44 use point_zone_registry,
only: neko_point_zone_registry
45 use point_zone,
only: point_zone_t
47 use neko_config,
only: neko_bcknd_device
48 use device,
only: device_memcpy, host_to_device
52 use json_module,
only: json_file
53 use json_utils,
only: json_get
55 use vector,
only: vector_t
57 use field_registry,
only: neko_field_registry
73 generic,
public :: init => init_from_json, init_from_components
75 procedure, pass(this) :: init_from_json => &
78 procedure, pass(this) :: init_from_components => &
109 type(json_file),
intent(inout) :: parameters
112 call json_get(parameters,
'design.n', n)
114 call this%init_from_components(n)
122 call this%free_base()
129 integer,
intent(in) :: n
131 call this%init_base(n)
140 type(json_file),
intent(inout) :: parameters
161 type(vector_t),
intent(inout) :: x
169 type(vector_t),
intent(in) :: sensitivity
175 integer,
intent(in) :: idx
Mappings to be applied to a scalar field.
Some common Masking operations we may need.
A RAMP mapping of coefficients.
Implements the simple_brinkman_source_term_t type.
subroutine design_simple_map_forward(this)
type(vector_t) function design_simple_get_design(this)
subroutine design_simple_init_from_json(this, parameters)
Initialize the design from a JSON file.
subroutine design_simple_init_from_components(this, n)
subroutine design_simple_update_design(this, x)
subroutine design_simple_add_mapping(this, parameters, simulation)
Add mappings to the design.
subroutine design_simple_write(this, idx)
subroutine design_simple_map_backward(this, sensitivity)
subroutine design_simple_free(this)
Free the design.
Implements the steady_problem_t type.
Base abstract class for mapping.
A PDE based filter mapping $\rho \mapsto \tilde{\rho}$, see Lazarov & O. Sigmund 2010,...
A RAMP mapping of coefficients This is the standard RAMP described in https://doi....
A simple Brinkman source term.
A topology optimization design variable.