51 sour_ne,dist_sour_ne,&
52 check_ne,check_dist_ne,&
54 fun_expl,nf,tag_func,val_expl,&
59 integer*4 :: cs_nnz,nm,ne,nl_expl,nf, nn_loc
60 integer*4 :: max_num_ne,im,ie,iexpl,nn,is,in,ip,i,j,k,h,fn
61 integer*4 :: length_cne
63 integer*4,
dimension(0:cs_nnz) :: cs
64 integer*4,
dimension(nm) :: tm,sd
65 integer*4,
dimension(nl_expl) :: num_ne
66 integer*4,
dimension(nl_expl) :: fun_expl
67 integer*4,
dimension(nn_loc) :: local_n_num
68 integer*4,
dimension(nf) :: tag_func
70 integer*4,
dimension(length_cne,4) :: check_ne
71 integer*4,
dimension(max_num_ne,nl_expl) :: sour_ne
75 real*8,
dimension(:),
allocatable :: ct,ww
77 real*8,
dimension(:,:),
allocatable :: dd
78 real*8,
dimension(nl_expl,20) :: val_expl
79 real*8,
dimension(max_num_ne,nl_expl) :: dist_sour_ne
80 real*8,
dimension(length_cne,1) :: check_dist_ne
88 allocate(ct(nn),ww(nn),dd(nn,nn))
92 if ((sd(im) +1).ne.nn)
then
95 allocate(ct(nn),ww(nn),dd(nn,nn))
100 if (cs(cs(ie -1) +0).eq.tm(im))
then
104 is = nn*nn*(k -1) +nn*(j -1) +i
105 in = cs(cs(ie -1) +is)
108 do ip = 1,num_ne(iexpl)
110 if (local_n_num(in) .eq. sour_ne(ip,iexpl
then
113 check_ne(h,1) = sour_ne(ip,iexpl)
114 check_ne(h,2) = fun_expl(iexpl)
115 check_ne(h,3) = iexpl
117 check_dist_ne(h,1) = dist_sour_ne(ip,iexpl
subroutine check_expl(cs_nnz, cs, nm, tm, sd, nl_expl, num_ne, max_num_ne, sour_ne, dist_sour_ne, check_ne, check_dist_ne, length_cne, fun_expl, nf, tag_func, val_expl, nn_loc, local_n_num)
Fills array check_ns for explosive force.
subroutine make_lgl_nw(nb_pnt, xq, wq, dd)
Makes Gauss-Legendre-Lobatto nodes, weigths and spectral derivatives.