55 character(len=:),
allocatable :: name
60 integer :: n_global = 0
77 procedure, pass(this) :: init_from_json_sim => design_init_from_json_sim
87 procedure, pass(this) :: init_from_json => design_init_from_json
90 procedure(design_free),
public, pass(this),
deferred :: free
93 procedure(design_get_values),
public, pass(this),
deferred :: get_values
95 generic :: get_x => design_get_x
96 generic :: x => design_get_x_i
98 generic :: get_y => design_get_y
99 generic :: y => design_get_y_i
101 generic :: get_z => design_get_z
102 generic :: z => design_get_z_i
105 procedure(design_update_design),
public, pass(this),
deferred :: &
109 procedure(design_map_forward),
public, pass(this),
deferred :: &
112 procedure(design_map_backward),
public, pass(this),
deferred :: &
115 procedure(design_write),
public, pass(this),
deferred :: write
121 procedure, pass(this) :: init_base => design_init_base
123 procedure, pass(this) :: free_base => design_free_base
125 procedure,
public, pass(this) :: size => design_size
127 procedure,
public, pass(this) :: size_global => design_size_global
130 procedure, pass(this) :: design_get_x
132 procedure, pass(this) :: design_get_x_i
134 procedure, pass(this) :: design_get_y
136 procedure, pass(this) :: design_get_y_i
138 procedure, pass(this) :: design_get_z
140 procedure, pass(this) :: design_get_z_i