SPEED
MAKE_DG_LOC_NUMERATION.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine make_dg_loc_numeration (nnloc, loc_n_num, cs_nnz, cs_loc, neloc, loc_el_num, mpi_
 Local numeration for DG elements.
 

Function/Subroutine Documentation

◆ make_dg_loc_numeration()

subroutine make_dg_loc_numeration ( integer*4  nnloc,
integer*4, dimension(nnloc), intent(inout)  loc_n_num,
integer*4  cs_nnz,
integer*4, dimension(0:cs_nnz), intent(inout)  cs_loc,
integer*4  neloc,
integer*4, dimension(neloc), intent(inout)  loc_el_num,
  mpi_ 
)

Local numeration for DG elements.

Author
Ilario Mazzieri
Date
September, 2013
Version
1.0
Parameters
[in]nnlocnumber of local elements
[in]loc_n_numlocal node numeration
[in]nelocnumber of local elements
[in]loc_el_numlocal element numeration
[in,out]cs_nnzlength of cs_loc
[in,out]cs_locDG spectral connectivity vector (IN -> global num, OUT -> local num.)

Definition at line 31 of file MAKE_DG_LOC_NUMERATION.f90.

33
34 implicit none
35
36 integer*4 :: ne_loc, ieloc, neloc
37 integer*4 :: ie, j, iglo, iloc
38 integer*4 :: cs_nnz, nnloc, mpi_id
39
40 integer*4, dimension(0:cs_nnz), intent(inout) :: cs_loc
41 integer*4, dimension(nnloc), intent(inout) :: loc_n_num
42 integer*4, dimension(neloc), intent(inout) :: loc_el_num
43
44
45 ne_loc = cs_loc(0) - 1
46
47
48 do ie = 1, ne_loc
49
50 call get_indloc_from_indglo(loc_el_num, neloc, cs_loc(cs_loc(ie-1)), ieloc)
51
52 if(ieloc .ne. 0) then
53
54 cs_loc(cs_loc(ie-1)) = 0
55 do j = cs_loc(ie -1) + 1, cs_loc(ie) - 1
56 cs_loc(j) = 0
57 enddo
58
59 else
60
61 do j = cs_loc(ie -1) + 1, cs_loc(ie) - 1
62 iglo = cs_loc(j)
63 call get_indloc_from_indglo(loc_n_num, nnloc, iglo, iloc)
64 cs_loc(j) = iloc
65 enddo
66
67 endif
68
69 enddo
70
71
72
subroutine get_indloc_from_indglo(local_el, nel_loc, ie, ic)
Returns local id from global id.

References get_indloc_from_indglo().

Here is the call graph for this function: