C Rutina 091 C-------------------------------------------------------------ESCALA--- C C SUBRUTINA ESCALA C C DESHACE EL ESCALADO EN EL VECTOR SOLUCION C SUBROUTINE ESCALA(NOD,Xj,NSOL,SOL,MAT) C IMPLICIT NONE INCLUDE '_param.for' INCLUDE '_struct.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C NOD : Nodos del problema RECORD /S_nodo/ NOD(N_MAX_NOD) C Xj() : Vector de incógnitas. REAL*8 Xj(N_MAX_INC) C NSOL : Numero de solidos INTEGER NSOL C SOL : Solidos del problema RECORD /S_solido/ SOL(N_MAX_SOL) C MAT : Materiales RECORD /S_material/ MAT(N_MAX_SOL) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES LOCALES CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C I,J,K : Contadores INTEGER I,J,K C csol,cnod,cvar,cinc : Contadores INTEGER CSOL,CNOD,CVAR,CINC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C RUTINA CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C DO i=1,NSOL csol=SOL(i).NUM C DO j=1,SOL(csol).NNOD cnod=SOL(csol).NOD(j) C DO k=1,NOD(cnod).NINC cvar=NOD(cnod).VAR(k) cinc=NOD(cnod).INC(k) SELECT CASE (cvar) CASE(1,2,3,4,9,10) Xj(cinc)=Xj(cinc)*MAT(csol).D CASE(5,6,7,8) Xj(cinc)=Xj(cinc)*MAT(csol).E CASE(11,12,13,14) CONTINUE CASE DEFAULT WRITE(F_W,13100) 1 WRITE (*,13100) 1 STOP END SELECT END DO END DO END DO C C FINAL DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA C 13100 FORMAT(/,2x,'ERROR 13100 - ESCALA - Error Programa (#',i1,'#)') 13101 FORMAT(/,2x,'ERROR 13101 - ESCALA - Tipo de material ',i2 @ ,' no implementado.') C END C