subroutine calgh(xt1,yt1,zt1,xt2,yt2,zt2,xt3,yt3,zt3,i,j,ll, 1 xci,yci,zci,c1,c2,c3,h1,g1,area) c c input : xt1,yt1,zt1,xt2,yt2,zt2,xt3,yt3,zt3,i,j,ll,l c output: c1,c2,c3,h1,g1,area real*8 xt1,yt1,zt1,xt2,yt2,zt2,xt3,yt3,zt3 real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,a(3,3),pp real*8 xp1,yp1,zp1,xp2,yp2,zp2,xp3,yp3,zp3,c1,c2,c3 real*8 xcc,ycc,zcc,h1,g1,xc1,yc1,zc1,xci,yci,zci,area call corr(xt1,yt1,zt1,xt2,yt2,zt2,xt3,yt3,zt3,ll,x1,y1, 1 z1,x2,y2,z2,x3,y3,z3) call trin(x1,y1,z1,x2,y2,z2,x3,y3,z3,a,pp,xp1,yp1,zp1, 1 xp2,yp2,zp2,xp3,yp3,zp3,c1,c2,c3) if(i.ne.1.or.ll.ne.1) go to 400 c xn(j,1)=c1 c xn(j,2)=c2 c xn(j,3)=c3 c do 35 k=1,4 c xg(j,k)=xpg(k) c yg(j,k)=ypg(k) c zg(j,k)=zpg(k) c 35 continue 400 area=pp/2. xcc=xci-x3 ycc=yci-y3 zcc=zci-z3 call new(a,xcc,ycc,zcc,xc1,yc1,zc1) call cacu(xc1,yc1,zc1,xp1,yp1,zp1,xp2,yp2,zp2, 1 xp3,yp3,zp3,h1,g1) return end