process-wise buffer for data of type real(kind=rk)
this datatype is used to describe the exchange with a specific process, in case of explicit buffers it provides the memory for them.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private, | pointer | :: | val(:) | => | null() | explicit buffer for data to be transferred |
type(c_ptr), | private | :: | mem_mpi | explicit buffer in memory allocated by mpi |
|||
integer, | private, | allocatable | :: | pos(:) | position in the input vector from where to read the entries in val_real Notejz: in ateles we use this to specify the positions of the cell states that have to be sent. |
||
integer, | private | :: | nvals | number of values to exchange Notejz: in ateles this variable stores the number of coefficients we transfer, i.e. number of cells to transfer times number of degree of freedoms per cell times the number of scalar variables. |
|||
integer, | private | :: | memindexed | handle for the mpi-datatype to describe the memory access, without explicit copying in the application. |