This datatype includes all necessary variables needed for 1 IBM step. It will be filled at every timestep.

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

real(kind=rk), | private, | allocatable | :: | force_Xk(:) | tmp array holding the body force at the lagrangian surface points Xk (Inamuro paper: \f$ g_{l}(X_{k}, t+\delta t) \f$) size: nPoints*3 |
||

real(kind=rk), | private, | allocatable | :: | force_X(:) | tmp array holding the body force at the eulerian grid elements X (Inamuro paper: \f$ g_{l}(x, t+\delta t) \f$) size: nPoints*stencil%QQ, 3 |
||

real(kind=rk), | private, | allocatable | :: | vel_Xk(:) | tmp array holding the velocity at the lagrangian surface points Xk (Inamuro paper: \f$ u_{l}(X_{k}, t+\delta t) \f$) size: nPoints*3 |
||

real(kind=rk), | private, | allocatable | :: | vel_X(:) | tmp array holding the velocity at the eulerian grid elements X (Inamuro paper: \f$ u_{l}(x, t+\delta t) \f$) size: nPoints*stencil%QQ, 3 |
||

real(kind=rk), | private, | allocatable | :: | vel_Xk_ini(:) | tmp array holding the initial velocity at the lagrangian points Xk
(Inamuro paper: \f$ u |
||

real(kind=rk), | private, | allocatable | :: | vel_X_ini(:) | tmp array holding the initial velocity at the eulerian grid elements X
(Inamuro paper: \f$ u |
||

real(kind=rk), | private, | allocatable | :: | vel_Xk_surf(:) | tmp array holding the predef. velocity at the lagrangian surface points X (Inamuro paper: \f$ U_{k}(t+\delta t) \f$) size: nPoints*3 |
||

integer, | private, | allocatable | :: | ptrs_neighs_Xk(:) | temporary array storing pointers to the dynamic array of neighbor positions in the total treeID list of the parent elements of Xk size: nPoints * stencil%QQ |
||

type(grw_intarray_type), | private, | allocatable | :: | neighs_x(:) | temporary dynamic array for storing the actual neighbor positions of the Xk tmp array for storing the neighbor positions in the total treeID list of the eulerian grid points |
||

real(kind=rk), | private, | allocatable | :: | inaDelta_Xk(:) | tmp array for the result of the inamura delta function for the lagrangian points X size: nPoints * stencil%QQ |
||

type(grw_realarray_type), | private, | allocatable | :: | inaDelta_X(:) | tmp array for the result of the inamura delta function for the eulerian points X size: nElems (fluid, ghosts, halos) |
||

type(tem_communication_type), | private | :: | IBMSend_Xk | sendBuffer to communicate the force values on Xk (on this process) |
|||

type(tem_communication_type), | private | :: | IBMRecv_Xk | recvBuffer to communicate the force values on Xk (on this process) |
|||

type(grw_intarray_type), | private, | allocatable | :: | posXk(:) | tmp array of growing arrays storing the Xk positions |
||

type(tem_communication_type), | private | :: | IBMSend_X | sendBuffer to communicate the force values on X (on this process) |
|||

type(tem_communication_type), | private | :: | IBMRecv_X | recvBuffer to communicate the force values on X (on this process) |
|||

integer, | private, | allocatable | :: | map2globSend(:) | map from the global send proc array to the local one |
||

integer, | private, | allocatable | :: | map2globRecv(:) | map from the global recv proc array to the local one |
||

type(tem_communication_type), | private | :: | IBMSend_X_pdf | sendBuffer to communicate the pdf values on X (on this process) |
|||

type(tem_communication_type), | private | :: | IBMRecv_X_pdf | recvBuffer to communicate the pdf values on X (on this process) |
|||

integer, | private, | allocatable | :: | map2globSend_pdf(:) | map from the global send proc array to the local one |
||

integer, | private, | allocatable | :: | map2globRecv_pdf(:) | map from the global recv proc array to the local one |
||

type(grw_intarray_type), | private, | allocatable | :: | treeIDs(:) | tmp array of growing arrays storing the treeID position at the send proc |