Measure controller for managing time steps
The idea is that this controller will keep track of the last value added and the last position added
The procedures will automatically add or not a given position
get_pos_array will return the array of positions in which the value can be added
get_max_array_size will return the maximum size of the array of positions that can be added
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | last_value_added | = | 0.0_dp |
Last value added |
|
| integer(kind=i4), | public | :: | last_position_added | = | 0 |
Last position added |
|
| real(kind=dp), | public | :: | position_step | = | 1.0_dp |
Position step size |
|
| real(kind=dp), | public | :: | min_value | = | 0.0_dp |
Minimum value for the measure |
|
| procedure(measure_controller_get_pos_array_i), | public, | pointer | :: | get_pos_array | => | null() |
Get position array |
| procedure(measure_controller_get_max_array_size_i), | public, | pointer | :: | get_max_array_size | => | null() |
Get maximum array size |
| procedure(measure_controller_update), | public, | pointer | :: | update | => | null() |
Update measure |
Initialize measure controller
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(measure_controller_t), | intent(inout) | :: | controller | |||
| character(len=*), | intent(in) | :: | interval_type | |||
| real(kind=dp), | intent(in), | optional | :: | step | ||
| real(kind=dp), | intent(in), | optional | :: | min_value |
Reset measure controller
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(measure_controller_t), | intent(inout) | :: | controller |