57 character(len=:),
allocatable :: name
62 integer :: n_global = 0
79 procedure, pass(this) :: init_from_json_sim => design_init_from_json_sim
89 procedure, pass(this) :: init_from_json => design_init_from_json
92 procedure(design_free),
public, pass(this),
deferred :: free
95 procedure(design_get_values),
public, pass(this),
deferred :: get_values
97 generic :: get_x => design_get_x
98 generic :: x => design_get_x_i
100 generic :: get_y => design_get_y
101 generic :: y => design_get_y_i
103 generic :: get_z => design_get_z
104 generic :: z => design_get_z_i
107 procedure(design_update_design),
public, pass(this),
deferred :: &
111 procedure(design_map_forward),
public, pass(this),
deferred :: &
114 procedure(design_map_backward),
public, pass(this),
deferred :: &
117 procedure(design_write),
public, pass(this),
deferred :: write
123 procedure, pass(this) :: init_base => design_init_base
125 procedure, pass(this) :: free_base => design_free_base
127 procedure,
public, pass(this) :: size => design_size
129 procedure,
public, pass(this) :: size_global => design_size_global
132 procedure, pass(this) :: design_get_x
134 procedure, pass(this) :: design_get_x_i
136 procedure, pass(this) :: design_get_y
138 procedure, pass(this) :: design_get_y_i
140 procedure, pass(this) :: design_get_z
142 procedure, pass(this) :: design_get_z_i