C Rutina 066 C-------------------------------------------------------------SOL_FUND2--- C C SUBRUTINA SOL_FUND2 C C PROBLEMA DE ELASTICIDAD PLANA C CALCULO DE LA SOLUCION FUNDAMENTAL. C SUBROUTINE SOL_FUND2(X,Z,PMAT,SF_U,SF_T,N1,N2,TP) C IMPLICIT NONE C INCLUDE '_param.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C X() : Coordenadas del punto de colocacion REAL*8 X(2) C Z() : Coordenadas del punto de integracion (en el elemento) REAL*8 Z(2) C PMAT() : Propiedades del material REAL*8 PMAT(2) C SF_U(,),SF_T(,) : Matriz de componentes de la solucion fundamental C SF_U(i,j)=Uij C SF_T(i,j)=Tij REAL*8 SF_U(2,2),SF_T(2,2) C N1,N2 : Componentes del vector normal al elemento REAL*8 N1,N2 C TP : Tipo de problema INTEGER TP C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C r,drdz1,drdz2,drdn : Variables auxiliares REAL*8 r,drdz1,drdz2,drdn C G,nu : Propiedades del material REAL*8 G,nu C FCU,FCT : Factor comun que afecta a todos los terminos REAL*8 FCU,FCT C PI : Numero Pi REAL*8 PI C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VALORES INICIALES CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C SELECT CASE (TP) C Tension plana CASE(21) G=PMAT(1)/2.d0/(1.d0+PMAT(2)) nu=PMAT(2)/(1.d0+PMAT(2)) C Deformacion plana CASE(22) G=PMAT(1)/2.d0/(1.d0+PMAT(2)) nu=PMAT(2) CASE DEFAULT WRITE(F_W,09320) 2 WRITE (*,09320) 2 STOP END SELECT PI=DACOS(-1.d0) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CALCULO SOLUCION FUNDAMENTAL CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C Terminos comunes C r=DSQRT((Z(1)-X(1))**2.d0+(Z(2)-X(2))**2.d0) drdz1=(Z(1)-X(1))/r drdz2=(Z(2)-X(2))/r drdn=drdz1*N1+drdz2*N2 FCU=1.d0/8.d0/PI/(1.d0-nu)/G !EG000605 FCT=-1.d0/(4.d0*PI*(1.d0-nu)*r) C C Uij C SF_U(1,1)=FCU*(((3.d0-4.d0*nu)*DLOG(1/r))+(drdz1**2.d0)) SF_U(1,2)=FCU*(drdz2*drdz1) SF_U(2,1)=FCU*(drdz1*drdz2) SF_U(2,2)=FCU*(((3.d0-4.d0*nu)*DLOG(1/r))+(drdz2**2.d0)) C C Tij C SF_T(1,1)=FCT*(drdn*((1-2.d0*nu)+2.d0*(drdz1**2.d0))) SF_T(1,2)=FCT*((2.d0*drdn*drdz2*drdz1) @ +(1-2.d0*nu)*(N1*drdz2-N2*drdz1)) SF_T(2,1)=FCT*((2.d0*drdn*drdz1*drdz2) @ +(1-2.d0*nu)*(N2*drdz1-N1*drdz2)) SF_T(2,2)=FCT*(drdn*((1-2.d0*nu)+2.d0*(drdz2**2.d0))) C C FIN DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA C 09320 FORMAT(/,2x,'ERROR 09320 - SOL_FUND2 - Error Programa (#',i1,'#)') C END C