C C--------------------------------------------------CALC_CTES_INT_DESP4---MT000705 C MT000705 C SUBRUTINA CALC_CTES_INT_DESP4 MT000705 C C CALCULO DE LAS CONSTANTES DE INTEGRACION PARA EL CALCULO C DE LOS DESPLAZAMIENTOS DESDE UN PINT A UN ELEMENTO. C C PROBLEMA ELÁSTICO PLANO. FORMULACIÓN EN VARIABLE COMPLEJA. C ELEMENTO LINEAL CONTINUO. C MATERIAL ORTÓTROPO FUERA DE EJES DE ORTOTROPÍA Y ANISÓTROPOS. C INTEGRACIÓN ANALÍTICA. C SUBROUTINE CALC_CTES_INT_DESP4(PRB,PNT,MAT,ELT,NOD,Eij) C IMPLICIT NONE INCLUDE '_param.for' INCLUDE '_struct.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C PNT : Punto interno RECORD /S_pntint/ PNT C PRB : Variables globales del solido RECORD /S_problema/ PRB C MAT : Material RECORD /S_material/ MAT C ELT : Elemento RECORD /S_elemento/ ELT C NOD() : Nodos del problema RECORD /S_nodo/ NOD(N_MAX_NOD) C Eij(,): Matriz de las ctes de integracion en el calculo de desplazamientos RECORD /S_matriz_Eij/ Eij(2,8) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS (SALIDA) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C TETA : Angulo entre los ejes ppales del mat y los globales REAL*8 TETA C I,J : Contadores INTEGER I,J C SF_U(,),SF_T(,) : Nucleos de la integral de contorno C SF_U(i,j) : Uij C SF_T(i,j) : Tij C REAL*8 SF_U(2,2),SF_T(2,2) C Aij,Bij : Matrices clasicas de constantes de integracion REAL*8 Aij(2,4),Bij(2,4) C nd1,nd2 : Extremos del elemento INTEGER nd1,nd2 C Lk,Tk,N1,N2,Nmod : Longitud, angulo y normal del elmento REAL*8 Lk,Tk,N1,N2,Nmod C D1,D2 : Variables aux. para comprobar donde esta el PNT REAL*8 D1,D2 C TI : Tipo de integracion INTEGER TI C TP : Tipo de problema INTEGER TP C ELTP : Tipo de elemento INTEGER ELTP C XPg(),X1g(),X2g() : Coor. del P.I. y los extremos del elto (ejes globales) !EG000606 REAL*8 XPg(2),X1g(2),X2g(2) !EG000606 C XPm(),X1m(),X2m() : Coor. del P.I. y los extremos del elto (ejes pples mat) REAL*8 XPm(2),X1m(2),X2m(2) C Am(,),Bm(,) : Matriz de constantes de integracion (ejes pples mat) REAL*8 Am(2,4),Bm(2,4) C CxS,CxC,SxS : Variables trigonometricas auxiliares REAL*8 CxC,SxS,CxS C PI : 3.14... REAL*8 PI C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VALORES INICIALES CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C TI=PRB.TI.TIP TP=PRB.TP.TIP ELTP=PRB.ELTP(ELT.TIP).TIP PI=DACOS(-1.D0) C DO i=1,2 DO j=1,4 Aij(i,j)=0.d0 Bij(i,j)=0.d0 END DO END DO C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CALC. CONST. INTEGRACION CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C COMPROBACION DEL TIPO DE ELEMENTO C SELECT CASE(ELTP) C C ELEMENTO LINEAL CONTINUO C CASE(1) C CONTINUE C C OTROS ELEMENTOS (Error) C CASE DEFAULT WRITE(F_W,08701) ELTP WRITE (*,08701) ELTP STOP END SELECT C C COMPROBACION DEL TIPO DE MATERIAL C SELECT CASE(MAT.TIP) C C Material ortotropo,fuera de ejes de ortotropía !MT000507 C CASE(3) C TETA=MAT.PRP(8)*DACOS(-1.d0)/180.d0 C CASE(4) C C Material anisótropo, ctes ingenieriles C TETA=MAT.PRP(11)*DACOS(-1.d0)/180.d0 CASE(5) C C Material anisótropo, entrada Bij C TETA=MAT.PRP(7)*DACOS(-1.d0)/180.d0 C C Otros materiales (Error) C CASE DEFAULT WRITE(F_W,08703) MAT.TIP WRITE (*,08703) MAT.TIP STOP END SELECT C C Nodos extremos C nd1=ELT.NG(1) nd2=ELT.NG(2) C C Longitud del elemento C Lk= (NOD(nd2).XYZo(1)-NOD(nd1).XYZo(1))**2.d0 Lk=Lk+(NOD(nd2).XYZo(2)-NOD(nd1).XYZo(2))**2.d0 Lk=DSQRT(Lk) C C Vector normal al elemento C N1=(NOD(nd2).XYZo(2)-NOD(nd1).XYZo(2)) N2=(NOD(nd1).XYZo(1)-NOD(nd2).XYZo(1)) Nmod=DSQRT(N1*N1+N2*N2) N1=N1/Nmod N2=N2/Nmod C C Angulo entre coord. locales del elemento y globales C CALL ANGULO(Tk,N1,N2) C C Coordenadas del nodo origen del elemento (globales) C X1g(1)=NOD(nd1).XYZo(1) X1g(2)=NOD(nd1).XYZo(2) C C Coordenadas del nodo extremo del elemento (globales) C X2g(1)=NOD(nd2).XYZo(1) X2g(2)=NOD(nd2).XYZo(2) C C Coordenadas del punto de integracion (globales) C XPg(1)=PNT.XYZ(1) XPg(2)=PNT.XYZ(2) C C COMPRUEBA QUE EL PUNTO NO PERTENECE AL ELEMENTO C IF(X1g(1).EQ.X2g(1)) THEN IF(XPg(1).EQ.X1g(1)) THEN d1=(2*XPg(2)-X1g(2)-X2g(2))/(X2g(2)-X1g(2)) d2=d1 ELSE d1=2 END IF ELSE IF(X1g(2).EQ.X2g(2)) THEN IF(XPg(2).EQ.X1g(2)) THEN d1=(2*XPg(1)-X1g(1)-X2g(1))/(X2g(1)-X1g(1)) d2=d1 ELSE d1=2 END IF ELSE d1=(2*XPg(1)-X1g(1)-X2g(1))/(X2g(1)-X1g(1)) d2=(2*XPg(2)-X1g(2)-X2g(2))/(X2g(2)-X1g(2)) END IF C IF((dabs(d1-d2).LT.TOL).and.(dabs(d1).LT.(1.d0+TOL)))THEN WRITE(F_W,08704) PNT.NUM WRITE (*,08704) PNT.NUM STOP END IF C C GIRO DE LAS COORDENADAS NODALES A EJES PPLES DEL MATERIAL C XPm(1) = DCOS(TETA)*XPg(1) + DSIN(TETA)*XPg(2) XPm(2) =-DSIN(TETA)*XPg(1) + DCOS(TETA)*XPg(2) X1m(1) = DCOS(TETA)*X1g(1) + DSIN(TETA)*X1g(2) X1m(2) =-DSIN(TETA)*X1g(1) + DCOS(TETA)*X1g(2) X2m(1) = DCOS(TETA)*X2g(1) + DSIN(TETA)*X2g(2) X2m(2) =-DSIN(TETA)*X2g(1) + DCOS(TETA)*X2g(2) C C CALCULO DE LAS MATRICES DE INTEGRACION (Aij,Bij) EN EJES PPLES DEL MATERIAL C SELECT CASE (TI) C C Integracion analítica C CASE (2) C C Problema de elásticidad plana. C Cálculo de las matrices Aij,Bij desde un punto de C colocación sobre un elemento lineal continuo. C CALL IANORA(XPm(1),XPm(2),X1m(1),X1m(2),X2m(1),X2m(2),Am,Bm, !MT000225-1 @ MAT.MA.MU1,MAT.MA.MU2,MAT.MA.QP,MAT.MA.PP) !MT000225-1 C C GIRO DE LAS MATRICES A EJES GLOBALES C CxC=DCOS(TETA)**2.d0 SxS=DSIN(TETA)**2.d0 CxS=DCOS(TETA)*DSIN(TETA) C Aij(1,1)=CxC*Am(1,1)-CxS*Am(1,3)-CxS*Am(2,1)+SxS*Am(2,3) Aij(1,2)=CxC*Am(1,2)-CxS*Am(1,4)-CxS*Am(2,2)+SxS*Am(2,4) Aij(1,3)=CxS*Am(1,1)+CxC*Am(1,3)-SxS*Am(2,1)-CxS*Am(2,3) Aij(1,4)=CxS*Am(1,2)+CxC*Am(1,4)-SxS*Am(2,2)-CxS*Am(2,4) C Aij(2,1)=CxS*Am(1,1)-SxS*Am(1,3)+CxC*Am(2,1)-CxS*Am(2,3) Aij(2,2)=CxS*Am(1,2)-SxS*Am(1,4)+CxC*Am(2,2)-CxS*Am(2,4) Aij(2,3)=SxS*Am(1,1)+CxS*Am(1,3)+CxS*Am(2,1)+CxC*Am(2,3) Aij(2,4)=SxS*Am(1,2)+CxS*Am(1,4)+CxS*Am(2,2)+CxC*Am(2,4) C Bij(1,1)=CxC*Bm(1,1)-CxS*Bm(1,3)-CxS*Bm(2,1)+SxS*Bm(2,3) Bij(1,2)=CxC*Bm(1,2)-CxS*Bm(1,4)-CxS*Bm(2,2)+SxS*Bm(2,4) Bij(1,3)=CxS*Bm(1,1)+CxC*Bm(1,3)-SxS*Bm(2,1)-CxS*Bm(2,3) Bij(1,4)=CxS*Bm(1,2)+CxC*Bm(1,4)-SxS*Bm(2,2)-CxS*Bm(2,4) Bij(2,1)=CxS*Bm(1,1)-SxS*Bm(1,3)+CxC*Bm(2,1)-CxS*Bm(2,3) Bij(2,2)=CxS*Bm(1,2)-SxS*Bm(1,4)+CxC*Bm(2,2)-CxS*Bm(2,4) Bij(2,3)=SxS*Bm(1,1)+CxS*Bm(1,3)+CxS*Bm(2,1)+CxC*Bm(2,3) Bij(2,4)=SxS*Bm(1,2)+CxS*Bm(1,4)+CxS*Bm(2,2)+CxC*Bm(2,4) C C Matriz Eij C CALL MAT_Eij(0,0,Eij,Aij,Bij,0,Tk,ELT.NUM) C C Error en tipo de integracion C CASE DEFAULT WRITE(F_W,08702) TI WRITE (*,08702) TI STOP END SELECT C C FIN DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA. C 08701 FORMAT(/,2x,'ERROR 08701 - CALC_CTES_INT_DESP4',/, @ ' Tipo de elemento (',i2,') no implementado.') 08702 FORMAT(/,2x,'ERROR 08702 - CALC_CTES_INT_DESP4',/, @ ' Tipo de integracion (',i2,') no implementada.') 08703 FORMAT(/,2x,'ERROR 08703 - CALC_CTES_INT_DESP4',/, @ ' Tipo de material (',i2,') no implementado.') 08704 FORMAT(/,2x,'ERROR 08704 - CALC_CTES_INT_DESP4',/, @ ' Punto ',i2,' pertenece al contorno del solido.') C END C e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


AN�LISIS DEL PROBLEMA TERMOEL�STICO DE CONTACTO MEDIANTE EL MÉTODO DE LOS ELEMENTOS DE CONTORNO CON MALLAS CONFORMES Y NO CONFORMES

: MORALES SIERRA, DIÓGENES
: Ingeniería Industrial
Contenido del proyecto: