37
38
39
40 USE elbufdef_mod
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "mvsiz_p.inc"
49
50
51
52
53
54
55 INTEGER, INTENT(IN) :: NPT
56 INTEGER NC(MVSIZ,10),NEL
57 double precision
58 . xx(mvsiz,10), yy(mvsiz,10), zz(mvsiz,10)
59
60
62 . offg(*),offg0(*)
63 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_TAB
64
65
66
67 INTEGER I ,NCH,INDEX(MVSIZ),J ,N ,IP
68
70 . px(mvsiz,10,5),py(mvsiz,10,5),pz(mvsiz,10,5)
71 TYPE(L_BUFEL_) ,POINTER :: LBUF
72 double precision
73 . xxd(mvsiz,10), yyd(mvsiz,10), zzd(mvsiz,10)
74
75 nch=0
76 DO i=1,nel
77 IF(offg(i)/=offg0(i).AND.abs(offg(i)) > one ) THEN
78 nch = nch +1
79 index(nch) = i
80 END IF
81 END DO
82 IF (nch==0) RETURN
83 DO j=1,nch
84 i= index(j)
85 xxd(j,1:10)=xx(i,1:10)
86 yyd(j,1:10)=yy(i,1:10)
87 zzd(j,1:10)=zz(i,1:10)
88 END DO
89 CALL s10pij12(npt,xxd, yyd, zzd, px,py,pz ,nch)
90
91 DO ip=1,npt
92 lbuf => elbuf_tab%BUFLY(1)%LBUF(ip,1,1)
94 . lbuf%PIJ,lbuf%SIG,lbuf%SIGL,index,nch,nel)
95 ENDDO
96
97 RETURN
subroutine s10pij12(npt, xx, yy, zz, px, py, pz, nel)
subroutine s10pijsav12(px, py, pz, pij, sig, sigl, index, nb, nel)