Research Article

Application of the Extended Isogeometric Analysis (X-IGA) to Evaluate a Pipeline Structure Containing an External Crack

Algorithm 1

SUBROUTINE UEL(RHS,AMATRX,SVARS,ENERGY,NDOFEL,NRHS,NSVARS,
1 PROPS,NPROPS,COORDS,MCRD,NNODE,U,DU,V,A,JTYPE...)
INCLUDE 'ABA_PARAM.INC'
DIMENSION RHS(MLVARX,), AMATRX(NDOFEL,NDOFEL), PROPS(),
1 SVARS(NSVARS), ENERGY, COORDS(MCRD,NNODE),...)
CRead real and integer properties set at the ABAQUS input file
E= PROPS!!! Module Young
Nu= PROPS!!! coeifficentpoisson
Typ_Prb= JPROPS!!! Plane strain/stress
C==============================================================================
CDefining Gauss points coordinates and Gauss Gauss weights
C==============================================================================
CALL Gauss ( NbPtInt,DimenProb,GaussPtsCoord,0)
C==============================================================================
CStiffness matrix and force vector are initialized to zero
C==============================================================================
DO i = 1, NDOFEL
RHS(i,1) = zero
DO j = 1, NDOFEL
AMATRX(j,i) = zero
ENDDO
ENDDO
C==============================================================================
DO Gauss integration point loop
C==============================================================================
CCalculation of the matrix (elasticity)
CALL CALC_D(Typ_Prb,D,E,Nu)
CALL Shap_Funct_NURBS(COORDS,dRdx,NNODE,R,GaussPtsCoord(2:,n), !!! Eq (5)
1DetJac,NDOFEL,DimenProb,JELEM,NumPatch)
CCrack tip derivates Functions Psi calculation at Gauss and nodal points
CALL Psi_CrackTip(NbrCrackPs,CoorCrack,dRdx,Xcoord,Ycoord,DerPsi,
1DerPsinodal)!!! Eq (9)
CDerPsi: Function Derivatives at the end of crack in gauss points
CDerPsinodal: Function Derivatives at the end of crack in nodal points
CCoorCrack: Coordinates of crack points
CHeaviside Function H calculation at Gauss and nodal points
CALLHeaviside_Func(NnoeudX,Distance,NNODE,ix,dRdx,Heav,Heavnodal)
!!! Eq (8)
CHeav: Function Heaviside in point x,y
CHeavnodal: Fonction Heaviside in elements nodes
C==============================================================================
CAssembly of matrix [B] Derivatives the functions NURBS in coordinates points x, y
C==============================================================================
B=0
Iter=1
CLoop over the nodes
DO i= 1,NNODE
CThe matrix [B] in the standard case part without crack
B(1,Iter) = dRdx(1,i,1)
B(2,Iter+1)= dRdx(2,i,1)
B(3,Iter) = dRdx(2,i,1)
B(3,Iter+1)= dRdx(1,i,1)
cThe matrix B in the case of crack compute by heaviside function
IF (NodesInfo(i)=1) THEN !!! nodes enriched by heaviside functions
B(1,2+Iter) = (Heav-Heavnodal(i))dRdx(1,i,1)
B(2,3+Iter) = (Heav-Heavnodal(i))dRdx(2,i,1)
B(3,2+Iter) = (Heav-Heavnodal(i))dRdx(2,i,1)
B(3,3+Iter) = (Heav-Heavnodal(i))dRdx(1,i,1)
cThe matrix B in the case of crack compute by the functions (Psi) at the points of the crack
ELSEIF(NodesInfo(i)=2) THEN !!! nodes enriched by Crack tip functions
DO j= 1,4
B(1,2j+2+Iter)=DerPsi(i,1,j)-DerPsinodal(i,1,j)
B(2,2j+3+Iter)=DerPsi(i,2,j)-DerPsinodal(i,2,j)
B(3,2j+2+Iter)=DerPsi(i,2,j)-DerPsinodal(i,2,j)
B(3,2j+3+Iter)=DerPsi(i,1,j)-DerPsinodal(i,1,j)
ENDDO
END IF
Iter=Iter+12
ENDDO !!! i End loop over the element nodes
C==============================================================================
CAssembking RHS and AMATRIX
C==============================================================================
AMATRX = Ke
RHS = −Fint + Fext
C==============================================================================
ENDDO !!! end intergartion gauss
C==============================================================================
c Calculate and store in SVARS the values of strains, stresses, strain energy, dRdX,  ...
CALL SVARS_Sub(JTYPE,JELEM,SVARS,NSVARS,U,NDOFEL,...)
RETURN
END SUBROUTINE UEL