| 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 |
|