(git:c5411e0)
Loading...
Searching...
No Matches
dbt_array_list_methods Module Reference

Representation of arbitrary number of 1d integer arrays with arbitrary sizes. This is needed for generic handling of dimension-specific tensor quantities (such as block index). More...

Data Types

type  array_list
 
interface  get_ith_array
 

Functions/Subroutines

pure integer function, public number_of_arrays (list)
 number of arrays stored in list
 
pure integer function, dimension(number_of_arrays(list)), public get_array_elements (list, indices)
 Get an element for each array.
 
subroutine, public create_array_list (list, ndata, data_1, data_2, data_3, data_4)
 collects any number of arrays of different sizes into a single array (listcol_data), storing the indices that start a new array (listptr).
 
type(array_list) function, public array_sublist (list, i_selected)
 extract a subset of arrays
 
subroutine, public destroy_array_list (list)
 destroy array list.
 
subroutine, public get_arrays (list, data_1, data_2, data_3, data_4, i_selected)
 Get all arrays contained in list.
 
subroutine, public get_ith_array (list, i, array_size, array)
 get ith array
 
integer function, dimension(:), allocatable, public sizes_of_arrays (list)
 sizes of arrays stored in list
 
integer function, dimension(:), allocatable, public sum_of_arrays (list)
 sum of all elements for each array stored in list
 
subroutine, public array_offsets (list_in, list_out)
 partial sums of array elements.
 
subroutine, public reorder_arrays (list_in, list_out, order)
 reorder array list.
 
logical function, public check_equal (list1, list2)
 check whether two array lists are equal
 
pure logical function, public array_eq_i (arr1, arr2)
 check whether two arrays are equal
 

Detailed Description

Representation of arbitrary number of 1d integer arrays with arbitrary sizes. This is needed for generic handling of dimension-specific tensor quantities (such as block index).

Author
Patrick Seewald

Function/Subroutine Documentation

◆ number_of_arrays()

pure integer function, public dbt_array_list_methods::number_of_arrays ( type(array_list), intent(in)  list)

number of arrays stored in list

Author
Patrick Seewald

Definition at line 58 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_array_elements()

pure integer function, dimension(number_of_arrays(list)), public dbt_array_list_methods::get_array_elements ( type(array_list), intent(in)  list,
integer, dimension(number_of_arrays(list)), intent(in)  indices 
)

Get an element for each array.

Parameters
indiceselement index for each array
Author
Patrick Seewald

Definition at line 71 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_array_list()

subroutine, public dbt_array_list_methods::create_array_list ( type(array_list), intent(out)  list,
integer, intent(in)  ndata,
integer, dimension(:), intent(in), optional  data_1,
integer, dimension(:), intent(in), optional  data_2,
integer, dimension(:), intent(in), optional  data_3,
integer, dimension(:), intent(in), optional  data_4 
)

collects any number of arrays of different sizes into a single array (listcol_data), storing the indices that start a new array (listptr).

Parameters
listlist of arrays
ndatanumber of arrays
dataarrays 1 and 2
Author
Patrick Seewald

Definition at line 93 of file dbt_array_list_methods.F.

Here is the caller graph for this function:

◆ array_sublist()

type(array_list) function, public dbt_array_list_methods::array_sublist ( type(array_list), intent(in)  list,
integer, dimension(:), intent(in)  i_selected 
)

extract a subset of arrays

Parameters
listlist of arrays
i_selectedarray numbers to retrieve
Author
Patrick Seewald

Definition at line 153 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_array_list()

subroutine, public dbt_array_list_methods::destroy_array_list ( type(array_list), intent(inout)  list)

destroy array list.

Author
Patrick Seewald

Definition at line 184 of file dbt_array_list_methods.F.

Here is the caller graph for this function:

◆ get_arrays()

subroutine, public dbt_array_list_methods::get_arrays ( type(array_list), intent(in)  list,
integer, dimension(:), intent(out), optional, allocatable  data_1,
integer, dimension(:), intent(out), optional, allocatable  data_2,
integer, dimension(:), intent(out), optional, allocatable  data_3,
integer, dimension(:), intent(out), optional, allocatable  data_4,
integer, dimension(:), intent(in), optional  i_selected 
)

Get all arrays contained in list.

Parameters
dataarrays 1 and 2
i_selectedarray numbers to retrieve (if not present, all arrays are returned)
Author
Patrick Seewald

Definition at line 196 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_ith_array()

subroutine, public dbt_array_list_methods::get_ith_array ( type(array_list), intent(in)  list,
integer, intent(in)  i,
integer, intent(in)  array_size,
integer, dimension(array_size), intent(out)  array 
)

get ith array

Author
Patrick Seewald

Definition at line 236 of file dbt_array_list_methods.F.

◆ sizes_of_arrays()

integer function, dimension(:), allocatable, public dbt_array_list_methods::sizes_of_arrays ( type(array_list), intent(in)  list)

sizes of arrays stored in list

Author
Patrick Seewald

Definition at line 271 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sum_of_arrays()

integer function, dimension(:), allocatable, public dbt_array_list_methods::sum_of_arrays ( type(array_list), intent(in)  list)

sum of all elements for each array stored in list

Author
Patrick Seewald

Definition at line 288 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ array_offsets()

subroutine, public dbt_array_list_methods::array_offsets ( type(array_list), intent(in)  list_in,
type(array_list), intent(out)  list_out 
)

partial sums of array elements.

Author
Patrick Seewald

Definition at line 306 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reorder_arrays()

subroutine, public dbt_array_list_methods::reorder_arrays ( type(array_list), intent(in)  list_in,
type(array_list), intent(out)  list_out,
integer, dimension(number_of_arrays(list_in)), intent(in)  order 
)

reorder array list.

Author
Patrick Seewald

Definition at line 328 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_equal()

logical function, public dbt_array_list_methods::check_equal ( type(array_list), intent(in)  list1,
type(array_list), intent(in)  list2 
)

check whether two array lists are equal

Author
Patrick Seewald

Definition at line 357 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ array_eq_i()

pure logical function, public dbt_array_list_methods::array_eq_i ( integer, dimension(:), intent(in)  arr1,
integer, dimension(:), intent(in)  arr2 
)

check whether two arrays are equal

Author
Patrick Seewald

Definition at line 368 of file dbt_array_list_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function: