32 . IXQ ,IAD_SURF ,BUFTMPSURF ,NSEG ,KNOD2ELQ ,
33 . NOD2ELQ ,IEXT ,X ,CLAUSE,IPARTQ)
39 use element_mod ,
only : nixq
43#include "implicit_f.inc"
49 INTEGER IXQ(NIXQ,*),KNOD2ELQ(*),NOD2ELQ(*),BUFTMPSURF(*),IPARTQ(NUMELQ)
51 INTEGER,
INTENT(INOUT) :: NSEG
59 INTEGER , JQ, K, N1, N2, ISEG, KK, KQ, L1, L2, L, TRUEAXE, NQQ1, NQQ2
60 INTEGER NODTAG(4),LINES(2,4),(4)
66 . y1,z1,y2,z2,y3,z3,y4,z4,
67 . yg,zg,pvect,psca,dy,dz,ny,nz
68 INTEGER,
DIMENSION(:),
ALLOCATABLE:: PART_TAG
74 CALL my_alloc(part_tag,npart)
76 DO j=1, clause%NB_PART
77 part_tag(clause%PART(j))=1
90 DO k=knod2elq(nqq1)+1,knod2elq(nqq1+1)
92 IF (kq==jq .OR. kq > numelq) cycle
93 IF (part_tag(ipartq(kq))==0) cycle
95 IF (ixq(lines(1,kk)+1,kq)==nqq1.AND.ixq(lines(2,kk)+1,kq)==nqq2)
THEN
97 ELSEIF (ixq(lines(1,kk)+1,kq)==nqq2.AND.ixq(lines(2,kk)+1,kq)==nqq1)
THEN
116 yg = (y1+y2+y3+y4)/four
117 zg = (z1+z2+z3+z4)/four
125 IF (n2d==1.AND.x(2,n1)<=em10.AND.x(2,n2)<=em10)
THEN
130 IF (nodtag(l)==1)
THEN
143 psca = ny*(y1-yg)+nz*(z1-zg)
147 . buftmpsurf ,iad_surf ,2 )
150 . buftmpsurf ,iad_surf ,2 )
161 IF(
ALLOCATED(part_tag))
DEALLOCATE(part_tag)
subroutine quad_surface_buffer(ixq, iad_surf, buftmpsurf, nseg, knod2elq, nod2elq, iext, x, clause, ipartq)