Civil Engineering Reference
In-Depth Information
Call
Gauss_coor(Glcor,Wi,Mi) ! Assign coords/Weights
Xsi1=-1
Subregions: &
DO NDIV=1,NDIVS
IF
(NDIVS > 1)
THEN
Xsi2= Xsi1+2/NDIVS
Gauss_points:&
DO
m=1,Mi
xsi= Glcor(m)
IF
(NDIVS > 1) Xsi= 0.5*(Xsi1+Xsi2)+xsi/NDIVS
CALL
Serendip_func(Ni,xsi,eta,ldim,Nodel,Inci)
Call
Normal_Jac(Vnorm,Jac,xsi,eta,ldim,Nodel,Inci,elcor)
CALL
Cartesian(GCcor,Ni,ldim,elcor) !
Coords of Gauss pt
r= Dist(GCcor,xP(:,i),cdim) !
Dist. P,Q
dxr= (GCcor-xP(:,i))/r !
rx/r , ry/r
UP= U(r,k,cdim) ; TP= T(r,dxr,Vnorm,cdim) !
Kernels
Node_points: &
DO
n=1,Nodel
IF
(Dist(Elcor(:,n),xP(:,i),cdim) < epsi)
EXIT
!
P
i
is n
dUe(i,n)= dUe(i,n) + Ni(n)*UP*Jac*Wi(m)*RJACB
dTe(i,n)= dTe(i,n) + Ni(n)*TP*Jac*Wi(m)*RJACB
END DO
&
Node_points
END DO &
Gauss_points
END DO &
Subregions
END DO &
Colloc_points
!------------------------------
!
Diagonal terms of dUe
!------------------------------
c1= 1/(2.0*pi*k)
Colloc_points1: &
DO
i=1,Ncol
Node_points1: &
DO
n=1,Nodel
IF
(Dist(Elcor(:,n),xP(:,i),cdim) > Epsi)
CYCLE
! Pi not n
Nreg=1
IF
(n == 3) nreg= 2
!-------------------------------------------
!
Integration of logarithmic term
!--------------------------------------------
Subregions: &
DO
nr=1,Nreg
Mi= 4
Call
Gauss_Laguerre_coor(Glcor,Wi,Mi)
Gauss_points1: &
DO
m=1,Mi
SELECT CASE
(n)
CASE
(1)
Search WWH ::
Custom Search