54 sxx,syy,szz,syz,szx,sxy,&
56 check_ne,check_dist_ne,&
57 length_cne,ielem,facsexpl,&
58 func_type,func_indx,func_data,nfdata,nf,t_stress,&
60 nelem_loc, local_el_num,&
65 integer*4 :: nn, nelem_loc, nn_loc
66 integer*4 :: i,j,k,p,q,r
67 integer*4 :: length_cne,ielem,nl_expl,nfdata
69integer*4 :: is,in,fn, ie
72integer*4,
dimension(nelem_loc) :: local_el_num
73 integer*4,
dimension(nn_loc) :: local_n_num
74 integer*4,
dimension(nf) :: tag_func
75integer*4,
dimension(nf) :: func_type
76integer*4,
dimension(nf+1) :: func_indx
78 integer*4,
dimension(0:cs_nnz) :: cs
79integer*4,
dimension(length_cne,4) :: check_ne
84 real*8,
dimension(nfdata) :: func_data
85 real*8,
dimension(nn) :: ct,ww
87 real*8,
dimension(nn,nn) :: dd
88 real*8,
dimension(length_cne,1) :: check_dist_ne
89 real*8,
dimension(nl_expl,6) :: facsexpl
91 real*8,
dimension(nn,nn,nn) :: sxx,syy,szz,syz,szx,sxy
97 if ((ielem.ge.check_ne(1,4)).and. (ielem.le.check_ne(length_cne
then
102 if (ielem.eq.check_ne(i,4))
then
110 in = local_n_num(cs(cs(ielem -1) +is))
112 if ((tag_func(fn).eq.(check_ne(i,2))) .and.(check_ne
then
118 sxx(p,q,r) = sxx(p,q,r) &
120 fn,t_stress,check_dist_ne(i,1),
121 * facsexpl(check_ne(i,3),1)
123 syy(p,q,r) = syy(p,q,r) &
125 fn,t_stress,check_dist_ne(i,1),
126 * facsexpl(check_ne(i,3),2)
128 szz(p,q,r) = szz(p,q,r) &
130 fn,t_stress,check_dist_ne(i,1),
131 * facsexpl(check_ne(i,3),3)
133 syz(p,q,r) = syz(p,q,r) &
135 fn,t_stress,check_dist_ne(i,1),
136 * facsexpl(check_ne(i,3),4)
138 szx(p,q,r) = szx(p,q,r) &
140 fn,t_stress,check_dist_ne(i,1),
141 * facsexpl(check_ne(i,3),5)
143 sxy(p,q,r) = sxy(p,q,r) &
145 fn,t_stress,check_dist_ne(i,1),
146 * facsexpl(check_ne(i,3),6)
subroutine make_expl_source(nn, ct, ww, dd, sxx, syy, szz, syz, szx, sxy, nl_expl, check_ne, check_dist_ne, length_cne, ielem, facsexpl, func_type, func_indx, func_data, nfdata, nf, t
Computes the explosive moment tensor.