C Rutina 070 C----------------------------------------------------------ALG_ACTUAL--- C C SUBRUTINA ALG_ACTUAL C C ALGORITMO INCREMENTAL CON MONTAJE DE LAS BIE EN CADA PASO C SUBROUTINE ALG_ACTUAL(PRB,SOL,MAT,CNT,ELT,NOD,PC,ZCTO, @ SAij,SFi,SXj,SVT,SW) C IMPLICIT NONE INCLUDE '_param.for' INCLUDE '_struct.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCC C C PRB : Variables globales del problema RECORD /S_problema/ PRB C SOL : Solidos del problema RECORD /S_solido/ SOL(N_MAX_SOL) C MAT : Materiales RECORD /S_material/ MAT(N_MAX_SOL) C CNT : Contornos del problema RECORD /S_contorno/ CNT(N_MAX_CNT) 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 PC : Puntos de colocacion RECORD /S_coloc/ PC(N_MAX_PC) C ZCTO : Zonas de contacto del problema RECORD /S_zncto/ ZCTO(N_MAX_ZCTO) C SAIJ(,) : Matriz del sistema. REAL*8 SAij(N_MAX_INC,N_MAX_INC) C SFI() : Termino independiente. REAL*8 SFi(N_MAX_INC) C SXJ() : Vector de incógnitas. REAL*8 SXj(N_MAX_INC) C SVT : Ecuación correspondiente a los apoyos puntuales REAL*8 SVT(3*N_MAX_SOL,N_MAX_INC) C SW : Proyeccion de los MSR sobre las incognitas REAL*8 SW(N_MAX_INC,3*N_MAX_SOL) C CCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCC C C D_LAMBDA : Coef. de ponderacion de la solucion un incremento de carga REAL*8 D_LAMBDA C LAMBDA : Coef. de ponderacion acumulado de los incrementos anteriores REAL*8 LAMBDA C I,J : Contadores INTEGER I,J C CCCCCCCCCCCCCCC C RUTINA CCCCCCCCCCCCCCC C C Montaje de las ecuaciones de contacto C CALL MONTAJE_CONTACTO(PRB,SOL,MAT,ZCTO,CNT,ELT,NOD, @ SAij,SFi,SVT,SW) C C Escritura de la matriz del sistema en la base de datos C CALL ESC_MATRIZ(PRB,NOD,SAij,SFi) C C Algoritmo incremental C LAMBDA=0.d0 C DO WHILE(LAMBDA.LT.1.d0) C C Solucion del sistema C CALL RESUELVE1(SAij,SFi,SXj,PRB.NINC) C C Calculo de la solucion nodal corresp. al incremento C CALL SOLUCION(PRB,SOL,CNT,ELT,NOD,SXj) C borrar IF(W_I.GE.1)THEN borrar CALL ESC_DEF(PRB,ZCTO,CNT,ELT,NOD) borrar END IF C C Comprobacion de contacto y calculo de D_LAMBDA C CALL COMPRUEBA_CONTACTO(CNT(ZCTO.CNT(1)),CNT(ZCTO.CNT(2)), @ PRB.ELTP,ELT,NOD,ZCTO.MU,D_LAMBDA,LAMBDA,PRB.ITR) C C Actualizacion de la solucion acumulada de los incrementos ateriores C CALL ESC_ITR(PRB,SOL,CNT,ELT,NOD,D_LAMBDA,LAMBDA) C CALL INCR_SOLUCION(PRB,SOL,CNT,ELT,NOD,D_LAMBDA) C C Actualizacion de LAMBDA C LAMBDA=LAMBDA+D_LAMBDA C IF(LAMBDA.LT.1.d0)THEN C C Borrado de las ecuaciones anteriores C DO i=1,PRB.NINC DO j=1,PRB.NINC SAij(i,j)=0.d0 END DO SFi(i)=0.d0 END DO C C Montaje de las ecuaciones de integrales de contorno C CALL MONTAJE_BIE(PRB,SOL,MAT,CNT,ELT,NOD,PC,SAij,SFi,SVT,SW) C C Montaje de las ecuaciones de contacto del proximo incremento C CALL MONTAJE_CONTACTO(PRB,SOL,MAT,ZCTO,CNT,ELT,NOD, @ SAij,SFi,SVT,SW) END IF C END DO C C FORMATOS DE ESCRITURA C 11101 FORMAT(/,2x,'ERROR 11101 - ALG_DIRECTO - Tipo de formulacion (', @ i2,') erronea.') C C FINAL DEL PROGRAMA 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: