Civil Engineering Reference
In-Depth Information
END IF
IF (id == 0) CYCLE
Direction_Q: DO jj=1,Ndof
Node_points: DO n=1,Nodel
nD= Ndof*(n-1) + jj ! column number in array
dUe(iD,nD)= dUe(iD,nD) + Ni(n)*UP(ii,jj)*Jac*Weit
dTe(iD,nD)= dTe(iD,nD) + Ni(n)*TP(ii,jj)*Jac*Weit
END DO Node_points
END DO Direction_Q
END DO Direction_P
END DO Gauss_points_eta
END DO Gauss_points_xsi
Eta1= Eta2
END DO Subdivisions_eta
Xsi1= Xsi2
END DO Subdivisions_xsi
END DO Colloc_points
!---------------------------------------------------------
! Part 1 : Pi is one of the element nodes
!---------------------------------------------------------
Colloc_points1: DO i=1,Ncol
lnod= 0
DO n= 1,Nodel ! Determine which local node is Pi
IF (Inci(n) .EQ. i) THEN
lnod=n
END IF
END DO
IF (lnod .EQ. 0) CYCLE ! None -> next Pi
Ntri= 2
IF (lnod > 4) Ntri=3 ! Number of triangles
Triangles: DO ntr=1,Ntri
CALL Tri_RL(RLx,RLe,Elengx,Elenge,lnod,ntr)
Mi= Ngaus(RLx,2,Rlim)
IF(Mi == 5) Mi=4 ! Triangles are not sub-divided
Call Gauss_coor(Glcorx,Wix,Mi)
Ki= Ngaus(RLe,2,Rlim)
IF(Ki == 5) Ki=4
Call Gauss_coor(Glcore,Wie,Ki)
Gauss_points_xsi1: DO m=1,Mi
xsib= Glcorx(m)
Gauss_points_eta1: DO k=1,Ki
etab= Glcore(k)
Weit= Wix(m)*Wie(k)
CALL Trans_Tri(ntr,lnod,xsib,etab,xsi,eta,Jacb)
CALL Serendip_func(Ni,xsi,eta,ldim,nodel,Inci)
Call Normal_Jac(Vnorm,Jac,xsi,eta,ldim,nodel,Inci,elcor)
Jac= Jac*Jacb
CALL Cartesian(GCcor,Ni,ldim,elcor)
r= Dist(GCcor,xPi(:,i),Cdim)
dxr= (GCcor-xPi(:,i))/r
IF (Ndof .EQ. 1) THEN
 
Search WWH ::




Custom Search