idvec2
C IDVEC2 SOURCE OF166741 24/09/27 21:15:11 12018 *-----------------------------------------------------------------------* * Recherche des noms de composantes pour creer des vecteurs * * a partir de MCHAML (appele par vecte2 ou vecte3) * * ICAS = 1 : cas des contraintes principales * * ICAS = 2 : cas des fissures * *-----------------------------------------------------------------------* & NLIST,IER1) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMMODEL DIMENSION IPNOMC(*) CHARACTER*(*) CMOT CHARACTER*(4) CMO4 IER1 = 0 IPNOMC(1) = 0 IPNOMC(2) = 0 IPNOMC(3) = 0 CMO4 = CMOT(1:4) IMO = 0 IF (CMO4.NE.' ') IMO = 1 IMODEL = IPMODL MELE = NEFMOD * Contraintes/Deformations principales IF (ICAS.EQ.1) THEN IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN IF (IMO.EQ.1) THEN IF (CMO4.NE.'SI11'.AND.CMO4.NE.'SI22') THEN IER1 = 2 GOTO 900 ENDIF ENDIF NLIST = 2 NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI11' LESOBL(2) = 'COX1' LESOBL(3) = 'COY1' LESOBL(4) = 'COZ1' IPNOMC(1) = NOMID NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI22' LESOBL(2) = 'COX2' LESOBL(3) = 'COY2' LESOBL(4) = 'COZ2' IPNOMC(2) = NOMID ELSE IF (MFR.EQ.1) THEN IF (NDIM.EQ.2) THEN IF (IMO.EQ.1) THEN IF (CMO4.NE.'SI11'.AND.CMO4.NE.'SI22') THEN IER1 = 2 GOTO 900 ENDIF ENDIF NLIST = 2 NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI11' LESOBL(2) = 'COX1' LESOBL(3) = 'COY1' LESOBL(4) = 'COZ1' IPNOMC(1) = NOMID NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI22' LESOBL(2) = 'COX2' LESOBL(3) = 'COY2' LESOBL(4) = 'COZ2' IPNOMC(2) = NOMID ELSE IF (NDIM.EQ.3) THEN IF (IMO.EQ.1) THEN IF (CMO4.NE.'SI11'.AND.CMO4.NE.'SI22' & .AND.CMO4.NE.'SI33') THEN IER1 = 2 GOTO 900 ENDIF ENDIF NLIST = 3 NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI11' LESOBL(2) = 'COX1' LESOBL(3) = 'COY1' LESOBL(4) = 'COZ1' IPNOMC(1) = NOMID NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI22' LESOBL(2) = 'COX2' LESOBL(3) = 'COY2' LESOBL(4) = 'COZ2' IPNOMC(2) = NOMID NBROBL = 4 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'SI33' LESOBL(2) = 'COX3' LESOBL(3) = 'COY3' LESOBL(4) = 'COZ3' IPNOMC(3) = NOMID ELSE IER1 = 1 ENDIF ELSE IER1 = 1 ENDIF * Fissures ELSE IF (ICAS.EQ.2) THEN IF (NDIM.EQ.2) THEN NLIST = 2 NBROBL = 2 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'VF1X' LESOBL(2) = 'VF1Y' IPNOMC(1) = NOMID NBROBL = 2 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'VF2X' LESOBL(2) = 'VF2Y' IPNOMC(2) = NOMID ELSE IF (NDIM.EQ.3) THEN * 3D / IF3=1 : coques / IF3=2 : massifs NLIST = 2 IF (IF3.EQ.2) NLIST = 3 NBROBL = 2 IF (IF3.EQ.2) NBROBL = 3 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'VF1X' LESOBL(2) = 'VF1Y' IF (IF3.EQ.2) LESOBL(3) = 'VF1Z' IPNOMC(1) = NOMID NBROBL = 2 IF (IF3.EQ.2) NBROBL = 3 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'VF2X' LESOBL(2) = 'VF2Y' IF (IF3.EQ.2) LESOBL(3) = 'VF2Z' IPNOMC(2) = NOMID IF (IF3.EQ.2) THEN NBROBL = 3 NBRFAC = 0 SEGINI NOMID LESOBL(1) = 'VF3X' LESOBL(2) = 'VF3Y' LESOBL(3) = 'VF3Z' IPNOMC(3) = NOMID ENDIF ENDIF * Cas non prevu ELSE IER1 = 1 ENDIF * Gestion des erreurs 900 CONTINUE IF (IER1.EQ.1) THEN ELSE IF (IER1.EQ.2) THEN moterr(1:4) = CMO4 ENDIF c RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales