Research Article

Parallelization of an Unsteady ALE Solver with Deforming Mesh Using OpenACC

Algorithm 2

Three-dimensional parallel coefficient matrix assembly (3DPCMA) algorithm.
Input: () Unstructured grid metrics (UGM), including the coordinates of the mesh nodes
     and the indices of the nodes that form the elements; adjacent data structure of grid
   () Row array, , which stores the starting positions of rows.
   () Inner node identifier and the GPU thread identifier .
Output:
   () Column array, , which stores the positions of the no-zero values in each row.
   () Value array, , which stores the no-zero values in each row.
   () Right hand vector of the linear system of equations, .
Procedure: Thread is responsible for the following tasks
    () initialize vector that is to calculate: ;
    () fetch the global and local indices of the neighbors of node :
    () fill : ;
    () For each tetrahedron Do
    ()   consider each face that contains node , face for example:
    ()   
    ()   ;
    ()   
    ()   IF ( is a boundary node) then
   ()   ;
   ()  ELSE
   ()   ;
   ()  End IF
   ()  
   ()  similar steps are performed like previous ()–() lines for node
   ()  
   ()  similar steps are performed like previous ()–() lines for node
   () End For