bsigm2
C BSIGM2 SOURCE CB215821 24/04/12 21:15:07 11897 & NBPTEL,MELE,MFR,IPMINT,IPMIN1,IVAMAT,NMATT,NBGMAT,NELMAT,IMAT, & NPINT,NFORC,IVAFOR,ADPG,BDPG,CDPG,IIPDPG) *---------------------------------------------------------------------- * _______________________________ * * | | * * | CALCUL DES FORCES AUX NOEUDS| * * |______________________________| * * * * coq3,dkt,coq4,coq8,coq2 ,dst, jot3, joi4, joi2, joi3 * * * *---------------------------------------------------------------------* * * * ENTREES : * * ________ * * * * IPMAIL Pointeur sur un segment MELEME ACTIF E/S * * LRE Nombre de ddl dans la matrice de rigidite * * NSTRS Nombre de composante de contraintes/deformations * * IVASTR pointeur sur un segment MPTVAL contenant les * * les melvals de contraints * * LW Dimension du tableau de travail de l'element * * NBPGAU Nombre de points d'integration pour les contraintes * * IVACAR Pointeur sur les chamelems de caracteristiques * * NBPTEL Nombre de points par element * * MELE Numero de l'element fini * * MFR Numero de la formulation * IPMINT Pointeur sur un segment MINTE ACTIF E/S * * IPMIN1 Pointeur sur un segment MINTE (aux noeuds) * * NPINT Nombre de points d'integration dans l'epaisseur * dans le cas des elements de coque integres * * * SORTIES : * * ________ * * * * IVAFOR pointeur sur un segment MPTVAL contenant les * * les melvals de forces * * * * ICHPO1 pointeur sur le petit chpoint cree à l'usage de * * la deformation plane generalisee * *---------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * * -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC SMCHAML -INC SMCHPOI -INC SMELEME -INC SMCOORD -INC SMMODEL -INC SMINTE -INC SMLREEL C SEGMENT WRK1 REAL*8 XFORC(LRE), XSTRS(NSTRS), XE(3,NBBB) REAL*8 DDHOOK(NSTRS,NSTRS),DDHOMU(NSTRS,NSTRS) ENDSEGMENT * SEGMENT WRK2 ENDSEGMENT * SEGMENT WRK3 ENDSEGMENT * SEGMENT WRK4 REAL*8 BPSS(3,3), XEL(3,NBBB), XFOLO(LRE) ENDSEGMENT * SEGMENT WRK5 REAL*8 BGENE1(3,LRE) ENDSEGMENT * SEGMENT MPTVAL INTEGER IPOS(NS) ,NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT * SEGMENT,MVELCH REAL*8 VALMAT(NV1) ENDSEGMENT CHARACTER*8 CMATE * pour l'appel a rcdst dimension rel(36,36) * MELEME=IPMAIL C* SEGACT MELEME NBNN=NUM(/1) NBELEM=NUM(/2) * * INITIALISATION DES COORDONNES DU POINT AUTOUR DUQUEL SE FAIT * LE MOUVEMENT EN DEFORMATION PLANE GENERALISEE * ET INITIALISATION DES FORCES AU NOEUD SUPPORT DE LA DEFO * PLANE GENERALISEE CCC IF (IFOUR.EQ.-3.AND.MFR.NE.35)THEN IF (IIPDPG.GT.0) THEN c* SEGACT MCOORD IREF = (IIPDPG-1)*(IDIM+1) XDPGE=XCOOR(IREF+1) YDPGE=XCOOR(IREF+2) ELSE XDPGE=0.D0 YDPGE=0.D0 ENDIF ADPG=0.D0 BDPG=0.D0 CDPG=0.D0 * NHRM=NIFOUR * MINTE=IPMINT IF(MELE.EQ.93)THEN NV1=NMATT SEGINI MVELCH ENDIF C_______________________________________________________________________ C C NUMERO DES ETIQUETTES : C ETIQUETTES DE 1 A 98 POUR TRAITEMENT SPECIFIQUE A L ELEMENT C DANS LA ZONE SPECIFIQUE A CHAQUE ELEMENT COMMENCANT PAR : C 5 CONTINUE C ELEMENT 5 ETIQUETTES 1005 2005 3005 4005 ... C 44 CONTINUE C ELEMENT 44 ETIQUETTES 1044 2044 3044 4044 ... C_______________________________________________________________________ C GOTO(99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 1 99,99,99,99,99,99,27,28,99,99,99,99,99,99,99,99,99,99,99,99, 2 41,99,99,44,99,99,99,99,49,99,99,99,99,99,99,41,99,99,99,99, 3 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 4 99,99,99,99,85,86,87,88,99,99,99,99,93,99,99,99,99),MELE GOTO(168,169,170,171,172),MELE-167 IF(MELE.EQ.258) GOTO 258 GOTO 99 C_______________________________________________________________________ C C ELEMENT COQ3 C_______________________________________________________________________ C 27 CONTINUE NBBB=NBNN LW=151 SEGINI WRK1,WRK3 C DO 3027 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C ON CHERCHE LES CONTRAINTES C MPTVAL=IVASTR DO 7027 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(1,IBMN) 7027 CONTINUE C C ON CALCULE B*EFFORTS C C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR DO 9027 IGAU=1,NBNN DO 9027 ICOMP=1,6 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGAU,IBMN)=XFORC(IE) 9027 CONTINUE C 3027 CONTINUE SEGSUP WRK1,WRK3 GOTO 510 C_______________________________________________________________________ C C ELEMENT DKT C_______________________________________________________________________ C 28 CONTINUE NBNO=NBNN NBBB=NBNN IF(NPINT.NE.0)THEN SEGINI WRK1,WRK3,WRK4,WRK5 NSTRS=6 SEGINI WRK2 NSTRS=4 ELSE SEGINI WRK1,WRK2,WRK3,WRK4 ENDIF C DO 3028 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C C MISE A ZERO DES FORCES INTERNES C C C BPSS STOCKE LA MATRICOMPE DE PASSAGE C C ON CHERCHE LES EPAISEURS ET ON LES MOYENNE, C LES EXCENTREMENTS ET ON LES MOYENNE. C MPTVAL=IVACAR C EPAIST=0.D0 MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EPAIST=EPAIST+VELCHE(IGMN,IBMN) ENDDO EPAIST=EPAIST/NBPGAU ENDIF * EXCEN=0.D0 MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EXCEN=EXCEN+VELCHE(IGMN,IBMN) ENDDO EXCEN=EXCEN/NBPGAU ENDIF C IF(NPINT.EQ.0)THEN C C COQUE GLOBAL C C BOUCLE SUR LES POINTS DE GAUSS C DO 6028 IGAU=1,NBPGAU * & SHPTOT,SHPWRK,BGENE,DJAC,XDPGE,YDPGE) DJAC=DJAC*POIGAU(IGAU) * * ON MODIFIE LA MATRICE B EN CAS D'EXCENTREMENT * IF (EXCEN.NE.0.) THEN DO 1528 IJL=1,3 DO 1528 IJC=1,LRE BGENE(IJL,IJC)=BGENE(IJL,IJC)+EXCEN*BGENE(IJL+3,IJC) 1528 CONTINUE ENDIF C C ON CHERCHE LES CONTRAINTES C MPTVAL=IVASTR DO 7028 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7028 CONTINUE C C ON CALCULE B*EFFORTS C 6028 CONTINUE C ELSE C C COQUE INTEGREE C NBPGA1=NBPGAU/NPINT C C BOUCLE SUR LES POINTS DE GAUSS DE LA SURFACE C DO 6001 IGAU=1,NBPGA1 * & SHPWRK,BGENE,DJAC,XDPGE,YDPGE) * * ON MODIFIE LA MATRICE B EN CAS D'EXCENTREMENT * IF (EXCEN.NE.0.) THEN DO 1501 IJL=1,3 DO 1501 IJC=1,LRE BGENE(IJL,IJC)=BGENE(IJL,IJC)+EXCEN*BGENE(IJL+3,IJC) 1501 CONTINUE ENDIF C C BOUCLE SUR LES NAPPES C DO 6002 INAP=1,NPINT IGAU1=(INAP-1)*NBPGA1+IGAU C C ON CHERCHE LES CONTRAINTES C MPTVAL=IVASTR DO 7001 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU1,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7001 CONTINUE XSTRS(3)=XSTRS(4) C C CALCUL DE LA MATRICE B CORRESPONDANT AUX CONTRAINTES 3D C ZZZ=DZEGAU(IGAU1)*(EPAIST/2.D0) DO 1502 IJL=1,3 DO 1502 IJC=1,LRE BGENE1(IJL,IJC)=BGENE(IJL,IJC)+ZZZ*BGENE(IJL+3,IJC) 1502 CONTINUE DJAC1=DJAC*POIGAU(IGAU1)*(EPAIST/2.D0) C C ON CALCULE B*EFFORTS C 6002 CONTINUE 6001 CONTINUE ENDIF C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR DO 9028 IGAU=1,NBNN DO 9028 ICOMP=1,6 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGAU,IBMN)=XFOLO(IE) 9028 CONTINUE 3028 CONTINUE SEGSUP WRK1,WRK2,WRK3,WRK4 IF(NPINT.NE.0)SEGSUP WRK5 GOTO 510 C_______________________________________________________________________ C C ELEMENTS COQ6 ET COQ8 C_______________________________________________________________________ C 41 CONTINUE NBBB=NBNN SEGINI WRK1,WRK3 MINTE1=IPMIN1 SEGACT MINTE1 NBPGA1=MINTE1.SHPTOT(/3) NBN1 =MINTE1.SHPTOT(/2) C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3041 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C ON CHERCHE LES EPAISSEURS ET LES EXCENTREMENTS, C ON LES MOYENNE SUR L'ELEMENT. C MPTVAL=IVACAR EPAIST=0.D0 MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPTEL IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) EPAIST=EPAIST+VELCHE(IGMN,IBMN) ENDDO EPAIST=EPAIST/NBPTEL ENDIF EXCEN=0.D0 MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPTEL IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) EXCEN=EXCEN+VELCHE(IGMN,IBMN) ENDDO EXCEN=EXCEN/NBPTEL ENDIF C C ON CHERCHE LES CONTRAINTES C IE=1 MPTVAL=IVASTR DO 7041 IGAU=1,NBPGAU DO 7041 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) IE=IE+1 7041 CONTINUE C C ON CALCULE B*SIGMA C IF(IRRT.EQ.0) THEN INTERR(1)=IB GOTO 9941 ELSE IF(IRRT.EQ.-1) THEN INTERR(1)=IB GOTO 9941 ENDIF C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR DO 9041 IGAU=1,NBNN DO 9041 ICOMP=1,6 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGAU,IBMN)=XFORC(IE) 9041 CONTINUE 3041 CONTINUE 9941 CONTINUE SEGSUP WRK1,WRK3 SEGDES MINTE1 GOTO 510 C_______________________________________________________________________ C C ELEMENT COQ2 C_______________________________________________________________________ C 44 CONTINUE DIM3=1.D0 NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2 C DO 3044 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C BOUCLE SUR LES POINTS DE GAUSS C DO 6044 IGAU=1,NBPGAU MPTVAL=IVACAR MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) EXCEN=VELCHE(1,IBMN) ELSE EXCEN=0.D0 ENDIF IF(IFOUR.EQ.-2) THEN MELVAL=IVAL(3) IF (MELVAL.NE.0) THEN IGMN=MIN(IGAU ,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) DIM3=VELCHE(IGMN,IBMN) ELSE DIM3=1.D0 ENDIF ENDIF * . EXCEN,DIM3,IRRT,XDPGE,YDPGE) IF (IRRT.EQ.1) THEN INTERR(1)=IB GOTO 9944 ELSE IF(IRRT.EQ.2) THEN INTERR(1)=IB GOTO 9944 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7044 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7044 CONTINUE C C ON CALCULE B*EFFORTS C 6044 CONTINUE C C EXTRACTION DES FORCES AU NOEUD SUPPORT DE LA DEF PLAN GENE C ON CALCULE LES RESULTANTES DES FORCES SUR CHAQUE ELEMENT C PPJ IF (IFOUR.EQ.-3) THEN ccc IF (IFOUR.EQ.-3.AND.MFR.NE.35) THEN IF (IIPDPG.GT.0) THEN ADPG=ADPG+XFORC(NBNN*3+1) BDPG=BDPG+XFORC(NBNN*3+2) CDPG=CDPG+XFORC(NBNN*3+3) ENDIF C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C MPTVAL=IVAFOR IF(IFOUR.GT.0) THEN DO 9044 IGAU=1,2 IE=(IGAU-1)*4 C MELVAL=IVAL(1) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+1) C MELVAL=IVAL(2) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+2) C MELVAL=IVAL(3) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+3) C MELVAL=IVAL(4) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+4) 9044 CONTINUE ELSE IF(IFOUR.LE.0) THEN DO 9144 IGAU=1,2 IE=(IGAU-1)*3 C MELVAL=IVAL(1) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+1) C MELVAL=IVAL(2) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+2) C MELVAL=IVAL(3) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGMN,IBMN)= XFORC(IE+3) 9144 CONTINUE ENDIF 3044 CONTINUE C 9944 CONTINUE SEGSUP WRK1,WRK2 GOTO 510 C_______________________________________________________________________ C C ELEMENT COQ4 C_______________________________________________________________________ C 49 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO 3049 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C RIFERIMENTO LOCALE C IF (IERT .EQ. 3) THEN NOPLAN = 1 ELSE NOPLAN = 0 END IF MPTVAL=IVACAR MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN IBMN=MIN(IB ,VELCHE(/2)) EXCEN=VELCHE(1,IBMN) ELSE EXCEN=0.D0 ENDIF C C BOUCLE SUR LES POINTS DE GAUSS C DO 6049 IGAU=1,NBPGAU if(cmate.eq.'ISOTROPE') then else endif IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 9949 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7049 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7049 CONTINUE C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) 6049 CONTINUE C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C MPTVAL=IVAFOR IE=0 DO 9049 NODE=1,4 DO 9049 ICOMP=1,6 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFOLO(IE) 9049 CONTINUE 3049 CONTINUE 9949 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JOI2 C_______________________________________________________________________ C 85 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO 3085 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO 6085 IGAU=1,NBPGAU . BGENE,DJAC,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 9985 ENDIF C C EN AXISYMETRIE, MULTIPLICATION PAR LE RAYON DE COURBURE C (LE RAYON DE COURBURE DOIT ETRE CALCULE AVEC LES COORDONNEES C GLOCALES CAR ON FAIT UNE INTEGRATION SUR LA CIRCONFERENCE DE LA C STRUCTURE CYLINDRIQUE DANS LE REPERE GLOBAL). C IF (IFOUR.EQ.0) THEN RAYON=0.D0 DO 6285 IRAY=1,NUMSUP RAYON=RAYON+SHPTOT(1,IRAY,IGAU)*XE(1,IRAY) 6285 CONTINUE DJAC=DJAC*RAYON ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7085 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7085 CONTINUE C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) 6085 CONTINUE C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C NODE=4= NOMBRE DE NOEUDS C ICOMP=2= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO 9085 NODE=1,4 DO 9085 ICOMP=1,2 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) 9085 CONTINUE 3085 CONTINUE 9985 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JGI2 C_______________________________________________________________________ C 170 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO IGAU=1,NBPGAU C C ON CHERCHE L EPAISSEUR DU JOINT C EPAIST=0.D0 MPTVAL=IVACAR MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EPAIST=VELCHE(IGMN,IBMN) ENDIF C CcPPj CALL BJO2GN(IGAU,MFR,IFOUR,NIFOUR,XEL,BPSS,SHPTOT,SHPWRK, CcPPj. EPAIST,BGENE,DJAC,XDPGE,YDPGE,IERT) . EPAIST,BGENE,DJAC,XDPGE,YDPGE,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 99170 ENDIF C???????????????? C EN AXISYMETRIE, MULTIPLICATION PAR LE RAYON DE COURBURE C (LE RAYON DE COURBURE DOIT ETRE CALCULE AVEC LES COORDONNEES C GLOCALES CAR ON FAIT UNE INTEGRATION SUR LA CIRCONFERENCE DE LA C STRUCTURE CYLINDRIQUE DANS LE REPERE GLOBAL). C???????????????? IF (IFOUR.EQ.0) THEN RAYON=0.D0 DO IRAY=1,NUMSUP RAYON=RAYON+SHPTOT(1,IRAY,IGAU)*XE(1,IRAY) ENDDO DJAC=DJAC*RAYON ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) ENDDO C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) ENDDO C C EXTRACTION DES FORCES AU NOEUD SUPPORT DE LA DEF PLAN GENE C ON CALCULE LES RESULTANTES DES FORCES SUR CHAQUE ELEMENT C NFOFO=NFORC IF (IFOUR.EQ.-3) THEN NFOFO=NFORC-3 ADPG=ADPG+XFORC(NBNN*NFOFO+1) BDPG=BDPG+XFORC(NBNN*NFOFO+2) CDPG=CDPG+XFORC(NBNN*NFOFO+3) ENDIF C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C NODE=4= NOMBRE DE NOEUDS C ICOMP=2= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO NODE=1,NBNN DO ICOMP=1,NFOFO IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) ENDDO ENDDO ENDDO 99170 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C+PPj C_______________________________________________________________________ C C ELEMENT JOINT JCT3 en 2D cisaillement C_______________________________________________________________________ C 168 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO IGAU=1,NBPGAU . BGENE,DJAC,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 99168 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) ENDDO C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) ENDDO C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C DO NODE=1,NBNN DO ICOMP=1,NFORC IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) ENDDO ENDDO ENDDO 99168 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JGT3 GENERALISE C_______________________________________________________________________ C 171 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO IGAU=1,NBPGAU C C ON CHERCHE L'EPAISSEUR DU JOINT C EPAIST=0.D0 MPTVAL=IVACAR MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EPAIST=VELCHE(IGMN,IBMN) ENDIF C C ON CALCULE B C CcPPj CALL BJT3G(IGAU,MFR,IFOUR,NIFOUR,XEL,BPSS,SHPTOT,SHPWRK, . EPAIST,BGENE,DJAC,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 99171 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) ENDDO C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) ENDDO C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C DO NODE=1,NBNN DO ICOMP=1,NFORC IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) ENDDO ENDDO ENDDO 99171 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C+PPj C_______________________________________________________________________ C C ELEMENT JOINT JCI4 en 2D cisaillement C_______________________________________________________________________ C 169 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO IGAU=1,NBPGAU IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 99169 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) ENDDO C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) ENDDO C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C NODE=8= NOMBRE DE NOEUDS C ICOMP=3= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO NODE=1,NBNN DO ICOMP=1,NFORC IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) ENDDO ENDDO ENDDO 99169 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JGI4 GENERALISE C_______________________________________________________________________ C 172 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO IGAU=1,NBPGAU C C ON CHERCHE L'EPAISSEUR DU JOINT C EPAIST=0.D0 MPTVAL=IVACAR MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EPAIST=VELCHE(IGMN,IBMN) ENDIF C C ON CALCULE B C CcPPj CALL BJO4G(IGAU,XEL,BPSS,SHPTOT,SHPWRK,EPAIST,BGENE,DJAC,IERT) . IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 99172 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) ENDDO C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) ENDDO C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C NODE=8= NOMBRE DE NOEUDS C ICOMP=3= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO NODE=1,NBNN DO ICOMP=1,NFORC IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) ENDDO ENDDO ENDDO 99172 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C+PPj C_______________________________________________________________________ C C ELEMENT JOINT (JOI3) IMPLEMENTATION SANS TEST DE PLANEITE C ET SANS REPERE LOCAL C_______________________________________________________________________ C 86 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO 3086 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C BOUCLE SUR LES POINTS DE GAUSS C DO 6086 IGAU=1,NBPGAU C C . BGENE,DJAC,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 9986 ENDIF C C EN AXISYMETRIE, MULTIPLICATION PAR LE RAYON DE COURBURE C (LE RAYON DE COURBURE DOIT ETRE CALCULE AVEC LES COORDONNEES C GLOCALES CAR ON FAIT UNE INTEGRATION SUR LA CIRCONFERENCE DE LA C STRUCTURE CYLINDRIQUE DANS LE REPERE GLOBAL). C IF (IFOUR.EQ.0) THEN RAYON=0.D0 DO 6286 IRAY=1,NUMSUP RAYON=RAYON+SHPTOT(1,IRAY,IGAU)*XE(1,IRAY) 6286 CONTINUE DJAC=DJAC*RAYON ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7086 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7086 CONTINUE C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) 6086 CONTINUE C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C NODE=6= NOMBRE DE NOEUDS C ICOMP=2= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO 9086 NODE=1,6 DO 9086 ICOMP=1,2 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) 9086 CONTINUE 3086 CONTINUE 9986 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JOT3 C_______________________________________________________________________ C 87 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO 3087 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO 6087 IGAU=1,NBPGAU . BGENE,DJAC,IERT) IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 9987 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7087 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7087 CONTINUE C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) 6087 CONTINUE C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C C EXPRESSION DE XFORC DANS LE REPERE GLOBAL C C TRANSPOSEE DE BPSS = INVERSE DE BPSS ( MATRICE ORTHOGONALE ) C DONC : TRPOSE(BPSS) = MATRICE DE PASSAGE DU REPERE LOCAL C AU REPERE GLOBAL C CCCCC CALL TRPOSE(BPSS) CCCCC CALL MATVEC(XFORC,XFOLO,BPSS,8) IE=0 MPTVAL=IVAFOR C C NODE=6= NOMBRE DE NOEUDS C ICOMP=3= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO 9087 NODE=1,6 DO 9087 ICOMP=1,3 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) 9087 CONTINUE 3087 CONTINUE 9987 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT JOINT JOI4 C_______________________________________________________________________ C 88 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO 3088 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C REPERE LOCAL C C C BOUCLE SUR LES POINTS DE GAUSS C DO 6088 IGAU=1,NBPGAU IF (IERT.NE.0) THEN INTERR(1)=IB GOTO 9988 ENDIF C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO 7088 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7088 CONTINUE C C ON CALCULE B*EFFORTS C DJAC=DJAC*POIGAU(IGAU) 6088 CONTINUE C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C C EXPRESSION DE XFORC DANS LE REPERE GLOBAL C C TRANSPOSEE DE BPSS = INVERSE DE BPSS ( MATRICE ORTHOGONALE ) C DONC : TRPOSE(BPSS) = MATRICE DE PASSAGE DU REPERE LOCAL C AU REPERE GLOBAL C CCCCC CALL TRPOSE(BPSS) CCCCC CALL MATVEC(XFORC,XFOLO,BPSS,8) IE=0 MPTVAL=IVAFOR C C NODE=8= NOMBRE DE NOEUDS C ICOMP=3= NOMBRE DE COMPOSANTES DE CONTRAINTES PAR NOEUD C DO 9088 NODE=1,8 DO 9088 ICOMP=1,3 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(NODE,IBMN)=XFORC(IE) 9088 CONTINUE 3088 CONTINUE 9988 CONTINUE SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ C C ELEMENT DST C_______________________________________________________________________ C 93 CONTINUE LHOOK=NSTRS NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK3,WRK4 IF(CMATE.NE.'ISOTROPE')THEN MPTVAL=IVAMAT IF(IMAT.EQ.1.AND.CMATE.EQ.'ORTHOTRO')THEN MELVAL=IVAL(7) ELSE MELVAL=IVAL(2) ENDIF NBGCOS=VELCHE(/1) ENDIF C DO 3093 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C BPSS STOCKE LA MATRICOMPE DE PASSAGE C ON CHERCHE LES EPAISEURS ET ON LES MOYENNE, C LES EXCENTREMENTS ET ON LES MOYENNE. C MPTVAL=IVACAR C EPAIST=0.D0 MELVAL=IVAL(1) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EPAIST=EPAIST+VELCHE(IGMN,IBMN) ENDDO EPAIST=EPAIST/NBPGAU ENDIF * EXCEN=0.D0 MELVAL=IVAL(2) IF (MELVAL.NE.0) THEN DO IGAU=1,NBPGAU IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) EXCEN=EXCEN+VELCHE(IGMN,IBMN) ENDDO EXCEN=EXCEN/NBPGAU ENDIF C C BOUCLE SUR LES POINTS DE GAUSS C DO 6093 IGAU=1,NBPGAU * IF(CMATE.NE.'ISOTROPE')THEN IF(IGAU.LE.NBGCOS)THEN IF(IMAT.EQ.2)THEN MPTVAL=IVAMAT MELVAL=IVAL(2) IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) COSA=VELCHE(IGMN,IBMN) MELVAL=IVAL(3) IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) SINA=VELCHE(IGMN,IBMN) ENDIF ENDIF ENDIF C C ON CHERCHE LA MATRICE DE HOOKE C MPTVAL=IVAMAT IF(IMAT.EQ.2) THEN MELVAL=IVAL(1) IBMN=MIN(IB ,IELCHE(/2)) IGMN=MIN(IGAU,IELCHE(/1)) MLREEL=IELCHE(IGMN,IBMN) IF (IGAU.LE.NBGMAT.AND.(IB.LE.NELMAT. + OR.NBGMAT.GT.1)) THEN SEGACT MLREEL SEGDES MLREEL IF(CMATE.EQ.'ORTHOTRO') ENDIF ELSE IF (IMAT.EQ.1) THEN DO 9193 IM=1,NMATT IF (IVAL(IM).NE.0) THEN MELVAL=IVAL(IM) IBMN=MIN(IB ,VELCHE(/2)) IGMN=MIN(IGAU,VELCHE(/1)) VALMAT(IM)=VELCHE(IGMN,IBMN) ELSE VALMAT(IM)=0.D0 ENDIF 9193 CONTINUE IF (IGAU.LE.NBGMAT.AND.(IB.LE.NELMAT.OR.NBGMAT.GT.1)) ENDIF IF(CMATE.NE.'ISOTROPE')THEN IF(IGAU.LE.NBGCOS)THEN IF(IMAT.EQ.1)THEN COSA=VALMAT(7) SINA=VALMAT(8) ENDIF DO 1393 INO=1,NBNN XX=COSA*XEL(1,INO)+SINA*XEL(2,INO) YY=(-SINA)*XEL(1,INO)+COSA*XEL(2,INO) XE(1,INO)=XX XE(2,INO)=YY 1393 CONTINUE ENDIF C C TERMES DE LA MATRICE DE RIGIDITE RELATIFS C AUX CISAILLEMENTS TRANSVERSES C C C TERMES DE LA MATRICE B RELATIFS AUX EFFETS C DE MEMBRANE ET DE FLEXION C * * DO 10 NPOI=1,3 SHPWRK(1,NPOI)=SHPTOT(1,NPOI,IGAU) SHPWRK(2,NPOI)=SHPTOT(2,NPOI,IGAU) SHPWRK(3,NPOI)=SHPTOT(3,NPOI,IGAU) 10 CONTINUE ELSE C C TERMES DE LA MATRICE B RELATIFS AUX CISAILLEMENTS TRANSVERSES C C C TERMES DE LA MATRICE B RELATIFS AUX EFFETS C DE MEMBRANE ET DE FLEXION C ENDIF DJAC=DJAC*POIGAU(IGAU) * * ON MODIFIE LA MATRICE B EN CAS D'EXCENTREMENT * DO 1593 IJL=1,3 DO 1593 IJC=1,LRE BGENE(IJL,IJC)=BGENE(IJL,IJC)+EXCEN*BGENE(IJL+3,IJC) 1593 CONTINUE C C ON CHERCHE LES CONTRAINTES C MPTVAL=IVASTR DO 7093 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(IGMN,IBMN) 7093 CONTINUE * * TRANSFORMATION DES CONTRAINTES DU REPERE LOCAL AU REPERE * D'ORTHOTROPIE * IF(CMATE.EQ.'ORTHOTRO') C C ON CALCULE B*EFFORTS C 6093 CONTINUE C C TRAITEMENT DE XFORC ET RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR DO 9093 IGAU=1,NBNN DO 9093 ICOMP=1,6 IE=IE+1 MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) VELCHE(IGAU,IBMN)=XFOLO(IE) 9093 CONTINUE 3093 CONTINUE 9993 CONTINUE SEGSUP WRK1,WRK2,WRK3,WRK4,MVELCH GOTO 510 C_______________________________________________________________________ C C ELEMENTS CIFL MACRO ELEMENT CISAILLEMENT FLEXION C_______________________________________________________________________ C 258 CONTINUE NBNO=NBNN NBBB=NBNN SEGINI WRK1,WRK2,WRK4 C DO IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C MISE A ZERO DES FORCES INTERNES C C C PASSAGE DES AXES GLOBAUX AUX AXES LOCAUX C C C ON CHERCHE LES CONTRAINTES - C MPTVAL=IVASTR DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IBMN=MIN(IB ,VELCHE(/2)) XSTRS(ICOMP)=VELCHE(1,IBMN) ENDDO C C ON CALCULE B*EFFORTS C C C RANGEMENT DANS MELVAL C IE=0 MPTVAL=IVAFOR C C ON RANGE LES FORCES (FX1,FY1,MZ1,FX2,FY2,MZ2,FM,MM) C MELVAL=IVAL(1) VELCHE(1,IB)=XFORC(1) VELCHE(3,IB)=XFORC(4) MELVAL=IVAL(2) VELCHE(1,IB)=XFORC(2) VELCHE(3,IB)=XFORC(5) MELVAL=IVAL(3) VELCHE(1,IB)=XFORC(3) VELCHE(3,IB)=XFORC(6) MELVAL=IVAL(4) VELCHE(2,IB)=XFORC(7) MELVAL=IVAL(5) VELCHE(2,IB)=XFORC(8) ENDDO SEGSUP WRK1,WRK2,WRK4 GOTO 510 C_______________________________________________________________________ * 99 CONTINUE MOTERR(1:4)=NOMTP(MELE) MOTERR(5:12)='BSIGM2' * 510 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales