C Rutina 041 C-------------------------------------------------------CNT_CTO_DEBIL--- C C SUBRUTINA CNT_CTO_DEBIL C C MONTAJE DE LAS CONDICIONES DE CONTORNO DE CONTACTO EN LOS NODODS C C ALGORITMO DEBIL DE CONTACTO C SUBROUTINE CNT_CTO_DEBIL(CNT,E,ELTP,ELT,NOD,cinc,AB) C IMPLICIT NONE INCLUDE '_param.for' INCLUDE '_struct.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CNT : Contorno RECORD /S_contorno/ CNT C E : Factor de escalado de las tensiones REAL*8 E C ELTP : Tipos de elemento RECORD /S_tipelt/ ELTP(N_MAX_TPEL) C ELT : Elementos del problema RECORD /S_elemento/ ELT(N_MAX_ELT) C NOD : Nodos del problema RECORD /S_nodo/ NOD(N_MAX_NOD) C CINC : Contador del numero de incognitas INTEGER CINC C AB : Codigo del contorno C = 'A' : Contorno que controla los desplazamientos C = 'B' : Contorno que controla las tensiones CHARACTER AB C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C I : Contadores INTEGER I C Contadores INTEGER CELT,UELT,ANOD,UNOD x INTEGER CSOL,CCNT,UCNT,AELT,CELT,UELT,PNOD,ANOD,CNOD,UNOD C NI1,NI2 : Nodos auxiliares INTEGER NI1,NI2 C ELTTP : Tipo de un elemento INTEGER ELTTP C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VALORES INICIALES CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C APLICACION DE LAS CDC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C Bucle que recorre los elementos del contorno C anod=0 uelt=CNT.ELT(CNT.NELT) elttp=ELT(uelt).TIP unod=ELT(uelt).NI(ELTP(elttp).NNI) C DO i = 1 , CNT.NELT celt=CNT.ELT(i) C elttp=ELT(celt).TIP SELECT CASE (elttp) CASE(1) C ELEMENTO LINEAL CONTINUO ni1=ELT(celt).NI(1) ni2=ELT(celt).NI(2) C IF(anod.NE.ni1) THEN C C PRIMER NODO DEL CONTORNO C Hay que introducir t1d,t2d como variables. C CALL CNTC_NOD_BC_VAR(7,E,NOD(ni1),cinc,0) CALL CNTC_NOD_BC_VAR(8,E,NOD(ni1),cinc,0) IF(AB.EQ.'A')THEN CALL CNTC_DEL(NOD(ni1),cinc,1) END IF anod=ni1 C END IF C IF(unod.NE.ni2) THEN C C NODO INTERMEDIO EN EL CONTORNO C Hay que introducir t1a,t2a como variables, C quitar t1d,t2d de las cdc e imponer continuidad. C CALL CNTC_NOD_BC_VAR(5,E,NOD(ni2),cinc,1) CALL CNTC_NOD_BC_VAR(6,E,NOD(ni2),cinc,1) IF(AB.EQ.'A')THEN CALL CNTC_DEL(NOD(ni2),cinc,2) END IF anod=ni2 C END IF C CASE DEFAULT WRITE(F_W,05200) 3 WRITE (*,05200) 3 STOP END SELECT C C Fin bucle que recorre los elementos del contorno C END DO C C ULTIMO NODO DEL CONTORNO C Hay que introducir t1a,t2a como variables. C SELECT CASE (elttp) CASE(1) C ELEMENTO LINEAL CONTINUO CALL CNTC_NOD_BC_VAR(5,E,NOD(ni2),cinc,0) CALL CNTC_NOD_BC_VAR(6,E,NOD(ni2),cinc,0) IF(AB.EQ.'A')THEN CALL CNTC_DEL(NOD(ni2),cinc,3) END IF CASE DEFAULT WRITE(F_W,05200) 3 WRITE (*,05200) 3 STOP END SELECT C C FIN DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA C 05200 FORMAT(/,2x,'ERROR 05200 - CNT_CTO_DEBIL - Error Programa (#', @ i1,'#)') 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: