1 : C SSTE SOURCE PV 09/03/12 21:35:04 6325 2 : SUBROUTINE SSTE 3 : *--------------------------------------------------------------------- 4 : * ECOULEMENT INELASTIQUE 5 : *--------------------------------------------------------------------- 6 : * 7 : * SYNTAXE POUR LES LOIS PLASTIQUES: 8 : * 9 : * SIGF VARF DEPIN RI1 = 'SUBSTEP' MODL SIG0 VAR0 DEPST CARAC 10 : * (PRECIS) (NMAXSSTEPS) (NITMAX) 11 : * (NNUMER) (DELTAX); 12 : * IN= 13 : * MMODEL | MODL OBJET MODELE 14 : * MCHAML | SIG0 CONTRAINTES AU DEBUT DU PAS 15 : * | VAR0 VARIABLES INTERNES AU DEBUT DU PAS 16 : * | DEPST INCREMENT DE DEFORMATIONS TOTALES 17 : * | CARAC CONSTANTES DU MATERIAU 18 : * FLOTTANT | PRECIS PRECISION POUR ITERATIONS INTERNES 19 : * INTEGER | NMAXSSTEPS Maximum number of substeps 20 : * INTEGER | NITMAX Maximum number of iterations 21 : * INTEGER | NNUMER Numerical differentiation type (MRSLade) 22 : * FLOTTANT | DELTAX Numerical differentiation parameter (MRSLade) 23 : * 24 : * OUT= 25 : * MCHAML | SIGF CONTRAINTES A LA FIN DU PAS 26 : * | VARF VARIABLES INTERNES A LA FIN DU PAS 27 : * | DEPIN INCREMENT DE DEFORMATIONS INELASTIQUES 28 : * | RI1 CONSISTENT TANGENT MATRIX 29 : * 30 : *--------------------------------------------------------------------- 31 : IMPLICIT INTEGER(I-N) 32 : IMPLICIT REAL*8(A-H,O-Z) 33 : -INC CCOPTIO 34 : -INC SMCHAML 35 : * 36 : * Lectura de datos 37 : * 38 : * modelo 38 : CALL LIROBJ('MMODEL',IPMODL,1,IRT) 39 : IF(IRT.EQ.0) then 40 : write(*,*) ' No hay MODL' 41 : RETURN 42 : ENDIF 43 : * tensiones iniciales 43 : CALL LIROBJ('MCHAML',IPCHE1,1,IRT) 44 : IF(IRT.EQ.0) then 45 : write(*,*) ' No hay SIG0' 46 : RETURN 47 : ENDIF 48 : MCHELM=IPCHE1 49 : SEGACT MCHELM 50 : c! Usa L1, N1, N3 51 : IF(MCHELM.TITCHE.NE.'CONTRAINTES')THEN 52 : MOTERR(1:8)='CONTRAIN' 52 : CALL ERREUR(109) 53 : SEGDES MCHELM 54 : RETURN 55 : ENDIF 56 : SEGDES MCHELM 57 : * variables internas iniciales 57 : CALL LIROBJ('MCHAML',IPCHE2,1,IRT) 58 : IF(IRT.EQ.0) then 59 : write(*,*) ' No hay VAR0' 60 : RETURN 61 : ENDIF 62 : MCHELM=IPCHE2 63 : SEGACT MCHELM 64 : IF(TITCHE.NE.'VARIABLES INTERNES')THEN 65 : MOTERR(1:8)='VARINTER' 65 : CALL ERREUR(109) 66 : SEGDES MCHELM 67 : RETURN 68 : ENDIF 69 : SEGDES MCHELM 70 : 71 : * incremento de deformacion 71 : CALL LIROBJ('MCHAML',IPCHE4,1,IRT) 72 : IF(IRT.EQ.0) then 73 : write(*,*) ' No hay DEPST' 74 : RETURN 75 : ENDIF 76 : MCHELM=IPCHE4 77 : SEGACT MCHELM 78 : IF(TITCHE.NE.'DEFORMATIONS')THEN 79 : MOTERR(1:8)='DEFORMAT' 79 : CALL ERREUR(109) 80 : SEGDES MCHELM 81 : RETURN 82 : ENDIF 83 : SEGDES MCHELM 84 : * caracteristicas materiales y geometricas 84 : CALL LIROBJ('MCHAML',IPCAR,1,IRT) 85 : IF(IRT.EQ.0) then 86 : write(*,*) ' No hay CARAC' 87 : RETURN 88 : ENDIF 89 : MCHELM=IPCAR 90 : SEGACT MCHELM 91 : IF(TITCHE.NE.'CARACTERISTIQUES')THEN 92 : MOTERR(1:8)='CARACTER' 92 : CALL ERREUR(109) 93 : SEGDES MCHELM 94 : RETURN 95 : ENDIF 96 : SEGDES MCHELM 97 : * precision para iteraciones internas 97 : CALL LIRREE(PRECIS,0,IRT) 98 : IF(IRT.EQ.0) PRECIS=1.D-10 99 : 100 : * num max de substeps 100 : CALL LIRENT(NMAXSSTEPS,0,IRT) 101 : IF (IRT.EQ.0) NMAXSSTEPS=1 102 : 103 : * num max de iteraciones internas 103 : CALL LIRENT(NITMAX,0,IRT) 104 : IF (IRT.EQ.0) NITMAX=25 105 : 106 : * tipo de derivacion numerica 106 : CALL LIRENT(NNUMER,0,IRT) 107 : IF (IRT.EQ.0) NNUMER=0 108 : 109 : * delta de x relativo para las derivadas numericas 109 : CALL LIRREE(DELTAX,0,IRT) 110 : IF (IRT.EQ.0) DELTAX=0.D0 111 : 112 : * comprovar que es def plana o axisimetrico 113 : IF ((IFOUR.gt.0).or.(IFOUR.lt.-1)) then 114 : write(*,*) ' Formulacion no disponible' 115 : return 116 : endif 117 : 117 : CALL SSTE1(IPMODL,IPCHE1,IPCHE2,IPCHE4,IPCAR, 118 : . PRECIS,NITMAX,NMAXSSTEPS,NNUMER,DELTAX, 119 : . IPCHE7,IPCHE8,IPCHE9,IPRIGI) 120 : 121 : IF(IERR.EQ.0)THEN 121 : CALL ECROBJ('MCHAML',IPCHE9) 121 : CALL ECROBJ('MCHAML',IPCHE8) 121 : CALL ECROBJ('MCHAML',IPCHE7) 121 : CALL ECROBJ('RIGIDITE',IPRIGI) 122 : ENDIF 123 : 124 : RETURN 125 : END 126 : 127 : 128 : 129 : 130 :
© Cast3M 2003 - All rights reserved.
Disclaimer