52 node_sism, nn_loc, mpi_id, ind, loc_n_num)
56 integer*4 :: isn,i,nn_loc,mpi_id,ind
57 integer*4 :: nnod,node_sism
59 integer*4,
dimension(nn_loc) :: loc_n_num
61 real*8 :: xipo,yipo,zipo,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,ux,uy
62 real*8 :: p1x,p1y,p1z,p2x,p2y,p2z
63 real*8 :: epsilon, twopi, anglesum, costheta,m1,m2
65 real*8,
dimension(4) :: x,y,z
66 real*8,
dimension(nn_loc) :: xs,ys,zs
72 twopi = 6.283185307179586476925287
97 p2x = x(i+1) - xs(isn)
98 p2y = y(i+1) - ys(isn)
99 p2z = z(i+1) - zs(isn)
101 m1 = dsqrt(p1x*p1x + p1y*p1y + p1z*p1z)
102 m2 = dsqrt(p2x*p2x + p2y*p2y + p2z*p2z)
104 if ((m1*m2).le.epsilon)
then
107 costheta = (p1x*p2x + p1y*p2y + p1z*p2z)/(m1*m2)
108 anglesum = anglesum + dacos(costheta)
115 if (anglesum.ge.tol)
then
116 node_sism = node_sism + 1
subroutine get_dime_sism(xipo, yipo, zipo, x1, y1, z1, x2, y2, z2, x3, y3, z3, nnod, xs, ys, zs, node_sism, nn_loc, mpi_id, ind, loc_n_n
Computes local number of nodes where seismic source is imposed.