donred
C DONRED SOURCE PV090527 24/06/21 21:15:02 11951 C======================================================================= C C CALCULE LES COORDONNEES REDUITES ET LES POIDS D'INTEGRATION C DES POINTS DE GAUSS D'UN ELEMENT C C ENTREES C IFOMO = MODE DE CALCUL C NBG = NOMBRE DE POINT DE GAUSS C IELE = NUMEROTATION DES ELEMENTS DANS NOMS(32) C (VOIR CCGEOME) C MELE = NUMEROTATION DANS NOMTP C NNO = NOMBRE DE NOEUDS DE L'ELEMENT NOMS(IELE) C NPINT = NOMBRE DE POINTS D'INTEGRATION DONS LE CAS DES C ELEMENTS COQUES INTEGRES C SORTIES C IPT = POINTEUR SUR MINTE C IRET = 1 OU 0 SUIVANT QUE IELE ET NBG COMPATIBLES OU PAS C C PAS DE MESSAGES D'ERREUR ECRIT DANS CETTE ROUTINE C C QSI(NBG) ETA(NBG) DZE(NBG) = COORDONNEES REDUITES C C POI(NBG) = POIDS DE L'INTEGRATION C C A D VOLUME DE L ELEMENT DE BASE C FOIS CONTRIBUTION DU POINT DE GAUSS C C ON NE FAIT LA DISTINCTION QU'ENTRE SEGMENTS C TRIANGLES C CARRES C TETRAEDRES C PRISMES C PYRAMIDES C CUBES C POLYGONES C *C PPJ CHANGEMENT DES REGLES D'INTEGRATION POUR LES JOINTS C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCREEL -INC SMINTE C C QUELQUES CONSTANTES EN VRAC C DATA HUIT/8.D0/ DATA DEUX,TROIS,QUATRE/2.D0,3.D0,4.D0/ DATA UNQUA,UNDEMI,UN/.25D0,.5D0,1.D0/ DATA UNTIER/.3333333333333333333333333333333333D0/ DATA DEUTIE/.6666666666666666666666666666666667D0/ DATA UNCINQ/.2D0/ DATA UNSIX /.1666666666666666666666666666666667D0/ DATA UN24 /.4166666666666666666666666666666667D-1/ C C INTEGRATION 2 POINTS LIGNE (ordre 3) C X577=1/sqrt(3) C DATA X577 /0.577350269189625764509148780501957D0/ C C INTEGRATION 3 POINTS LIGNE (ordre 5) C DATA P555 /.5555555555555555555555555555555555D0/ DATA P888 /.8888888888888888888888888888888888D0/ C X774=sqrt(3/5) DATA X774 /0.774596669241483377035853079956479D0/ C C INTEGRATION 4 POINTS LIGNE (ordre 7) C C X861=sqrt((15+2*sqrt(30))/35 DATA X861 /0.861136311594052575223946488892809D0/ C X339=sqrt(3/(15+2*sqrt(30))) DATA X339 /0.339981043584856264802665759103244D0/ C P347=(18-sqrt(30))/36 DATA P347 /0.347854845137453857373063949221999D0/ C P652==(18+sqrt(30))/36 DATA P652 /0.652145154862546142626936050778000D0/ C C INTEGRATION 4 POINTS TRIANGLE (ordre 3) C attention : poids negatif ! C P260=25./96. P281=-27/96. DATA P260 /.2604166666666666666666666666666667D0/ DATA P281/-.28125D0/ C C INTEGRATION 6 POINTS TRIANGLE (ordre 4?) C C valeur tirees de Batoz Ghatt page 200 tableau 2.3.4 C points de HammerY a t'il une forme algébrique? DATA X044/.445948490915965D0/ DATA X009/.091576213509771D0/ DATA X111/.111690794839005D0/ DATA X005/.054975871827661D0/ C C INTEGRATION 7 POINTS TRIANGLE (ordre 5) C C X101=1/(6+sqrt(15)) DATA X101 /0.101286507323456338800987361915124D0/ C X797=(9+2*sqrt(15))/21 DATA X797 /0.797426985353087322398025276169752D0/ C X470=(6+sqrt(15))/21 DATA X470 /0.470142064105115089770441209513447D0/ C X059=1/(9+2*sqrt(15)) DATA X059 /0.059715871789769820459117580973104D0/ C P125=(155-sqrt(15))/1200 DATA P125/0.12593918054482715259568394550018133D0/ C P132=(155+sqrt(15))/1200 DATA P132/0.13239415278850618073764938783315199D0/ C C INTEGRATION 4 POINTS TETRAEDRE (ordre 2) C C X138=1/(5+sqrt(5)) DATA X138 /0.138196601125010515179541316563436D0/ C x585=1/(3*sqrt(5)-5) DATA X585 /0.585410196624968454461376050309691D0/ C C INTEGRATION 11 POINTS TETRAEDRE (ordre 4) C tiré de [DHATT, FEM, p371] (attention : poids negatif !) C XONZ14=11/14 XUN14=1/14. P01315=-74/5625 P00762=343/45000 DATA XONZ14/0.785714285714285714285714285714285D0/ DATA XUN14 /0.071428571428571428571428571428571D0/ DATA P01315/-.0131555555555555555555555555555555D0/ DATA P00762/0.007622222222222222222222222222222D0/ DATA P00124/0.001244444444444444444444444444444D0/ C C INTEGRATION 15 POINTS TETRAEDRE (ordre 5) C tiré de [DHATT, FEM, p371] c X3197 = (7.+sqrt(15.))/34. X0919 = (7.-sqrt(15.))/34. c X7240 = (13.+3.*sqrt(15.))/34. X0406 = (13.-3.*sqrt(15.))/34. c X0563 = (5.-sqrt(15.))/20. X4436 = (5.+sqrt(15.))/20. c P0197 = 112./5670. P0088 = 5./567. c P0119=(2665.+14.sqrt(15.))/226800. P0115=(2665.-14.sqrt(15.))/226800. DATA X3197 /0.319793627829629908387625452934776D0/ DATA X0919 /0.091971078052723032788845135300517D0/ DATA X7240 /0.724086765841830901633464594098447D0/ DATA X0406 /0.040619116511110274837123641195670D0/ DATA X0563 /0.056350832689629155741036730010880D0/ DATA X4436 /0.443649167310370844258963269989119D0/ DATA P0197 /0.019753086419753086419753086419753D0/ DATA P0119 /0.011989513963169770001730642484995D0/ DATA P0115 /0.011511367871045397546770239349219D0/ DATA P0088 /0.008818342151675485008818342151675D0/ C * write(6,*) 'nbg,iele,mele,nno,npint=',nbg,iele,mele,nno,npint NBPGAU=NBG NBNO=NNO SEGINI MINTE IPT=MINTE IRET=1 DO 100 I=1,NBG QSIGAU(I)=XZERO ETAGAU(I)=XZERO DZEGAU(I)=XZERO POIGAU(I)=XZERO 100 CONTINUE * * PETIT DEBRANCHEMENT POUR ELEMENT TUYO IF(MELE.EQ.96) GO TO 96 * ET COQUES INTEGREES (sauf pour la matrice masse) IF(NPINT.NE.0.AND.NBG.NE.3)GOTO 95 * ET ELEMENT TR6H IF(MELE.EQ.157)GOTO 1570 C C 66 INDIQUE QUE L ELEMENT N EST PAS ENCORE IMPLEMENTE C DANS CE CAS IRET EST MIS A ZERO C C P1 S2 S3 T3 T4 T6 T7 Q4 Q5 Q8 Q9 R2 R3 C8 C20 P6 P15 GOTO ( 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 2,12,14, 14,16, 16, C L3 L4 L6 L8 MU T4 T10 P5 P13 ATT SUP RP3 LP6 LP8 1 4, 8,66,66,66,23, 23,25, 25, 66, 66, 2, 4, 8, C POLY C27 P21 T15 P19 2 30, 14, 16, 23, 25),IELE C 66 IRET=0 IPT=0 GOTO 666 C======================================================================= C ELEMENT POI1 C======================================================================= C 1 CONTINUE POIGAU(1)=UN GOTO 666 C C======================================================================= C ELEMENT LIGNE LONGUEUR =2 C======================================================================= C 2 IF (NBG.NE.1) GOTO 220 C C UN POINT D INTEGRATION (ordre 1) C POIGAU(1)=DEUX GOTO 666 220 IF (NBG.NE.2) GOTO 230 C C 2 POINTS D INTEGRATION (ordre 3) C POIGAU(1)= UN POIGAU(2)= UN QSIGAU(1)=-X577 QSIGAU(2)= X577 * les contraintes et les deformations des él. poutre et tuyau sont * calculées analytiquement aux noeuds. On change les coordonées des * points de Gauss afin d'avoir les bonnes valeurs quand on fait "CHANGER" * * ON INTEGRE AU NOEUD (LOBATTO) POUR L'ELEMENT DE JOINT 85 ET 170 (JOI2 ET JGI2) * SAUF EN AXI * (--> ordre 2) IF(MELE.EQ.29.OR.MELE.EQ.42.OR.(MELE.EQ.85.AND.IFOMO.NE.0)) THEN ** IF(MELE.EQ.29.OR.MELE.EQ.42) THEN QSIGAU(1)=-1.D0 QSIGAU(2)= 1.D0 ENDIF GOTO 666 C C 3 POINTS D INTEGRATION (ordre 5) C 230 IF (NBG.NE.3) GOTO 240 POIGAU(1)= P555 POIGAU(2)= P888 POIGAU(3)= P555 QSIGAU(1)=-X774 QSIGAU(3)= X774 GOTO 666 C C 4 POINTS D INTEGRATION (ordre 7) C 240 IF(NBG.NE.4) GOTO 66 QSIGAU(1)=-X861 QSIGAU(2)=-X339 QSIGAU(3)= X339 QSIGAU(4)= X861 POIGAU(1)= P347 POIGAU(2)= P652 POIGAU(3)= P652 POIGAU(4)= P347 GOTO 666 C C======================================================================= C ELEMENT TRIANGLE SURFACE=1/2 C======================================================================= C 4 CONTINUE C C 1 POINTS D INTEGRATION (ordre 1) C IF (NBG.NE.1) GOTO 430 QSIGAU(1)=UNTIER ETAGAU(1)=UNTIER POIGAU(1)=UNDEMI GOTO 666 C C 3 POINTS D INTEGRATION (ordre 3) C [Zienkiewicz, p.165] ou [Bathe, p.467] C 430 IF(NBG.NE.3) GOTO 440 IF(MELE.EQ.56.OR.MELE.EQ.128) THEN QSIGAU(1)=UNSIX ETAGAU(1)=UNSIX QSIGAU(2)=UNSIX ETAGAU(2)=DEUTIE QSIGAU(3)=DEUTIE ETAGAU(3)=UNSIX C C CAS DU JOT3, DU JCT3 ET DU JGT3 ON SE PLACE AUX SOMMETS C ELSEIF(MELE.EQ.87)THEN QSIGAU(2)=UN ETAGAU(3)=UN C ELSE QSIGAU(1)=UNDEMI ETAGAU(2)=UNDEMI QSIGAU(3)=UNDEMI ETAGAU(3)=UNDEMI ENDIF POIGAU(1)=UNSIX POIGAU(2)=UNSIX POIGAU(3)=UNSIX GOTO 666 C C 4 POINTS D INTEGRATION (ordre 3) C [Zienkiewicz, p.165] (attention : poids negatif !) C 440 IF (NBG.NE.4) GOTO 460 QSIGAU(1)=UNTIER QSIGAU(2)=UNCINQ QSIGAU(3)=UNCINQ*TROIS QSIGAU(4)=UNCINQ ETAGAU(1)=UNTIER ETAGAU(2)=UNCINQ ETAGAU(3)=UNCINQ ETAGAU(4)=UNCINQ*TROIS POIGAU(1)=P281 POIGAU(2)=P260 POIGAU(3)=P260 POIGAU(4)=P260 GOTO 666 C C 6 POINTS D INTEGRATION COQUE EPAISSE C 460 IF(NBG.NE.6) GOTO 470 QSIGAU(1)=UNSIX ETAGAU(1)=UNSIX QSIGAU(2)=UNSIX ETAGAU(2)=DEUTIE QSIGAU(3)=DEUTIE ETAGAU(3)=UNSIX DZEGAU(1)=-X577 DZEGAU(2)=-X577 DZEGAU(3)=-X577 QSIGAU(4)=UNSIX ETAGAU(4)=UNSIX QSIGAU(5)=UNSIX ETAGAU(5)=DEUTIE QSIGAU(6)=DEUTIE ETAGAU(6)=UNSIX DZEGAU(4)= X577 DZEGAU(5)= X577 DZEGAU(6)= X577 POIGAU(1)=UNSIX POIGAU(2)=UNSIX POIGAU(3)=UNSIX POIGAU(4)=UNSIX POIGAU(5)=UNSIX POIGAU(6)=UNSIX GOTO 666 C C 7 POINTS D INTEGRATION (ordre 5) C [Zienkiewicz, p.165] ou BATHE P280 470 IF(NBG.NE.7) GOTO 777 QSIGAU(1)=X101 QSIGAU(2)=X797 QSIGAU(3)=X101 QSIGAU(4)=X470 QSIGAU(5)=X470 QSIGAU(6)=X059 QSIGAU(7)=UNTIER ETAGAU(1)=QSIGAU(1) ETAGAU(2)=QSIGAU(1) ETAGAU(3)=QSIGAU(2) ETAGAU(4)=QSIGAU(6) ETAGAU(5)=QSIGAU(4) ETAGAU(6)=QSIGAU(4) ETAGAU(7)=QSIGAU(7) POIGAU(1)=P125*UNDEMI POIGAU(2)=P125*UNDEMI POIGAU(3)=P125*UNDEMI POIGAU(4)=P132*UNDEMI POIGAU(5)=P132*UNDEMI POIGAU(6)=P132*UNDEMI POIGAU(7)=.1125D0 GOTO 666 C C PLUSIEURS NAPPES DE 3 POINTS D INTEGRATION C 777 IF(NBG.NE.9.AND.NBG.NE.12.AND.NBG.NE.15.AND.NBG.NE.18.AND. 1 NBG.NE.21) GOTO 66 NNAPPE=NBG/3 POIDS=UN/DBLE(NBG) DO 7771 IA=1,NNAPPE NP=IA*3-2 POIGAU(NP )=POIDS POIGAU(NP+1)=POIDS POIGAU(NP+2)=POIDS QSIGAU(NP )= UNSIX ETAGAU(NP )= UNSIX QSIGAU(NP+1)= UNSIX ETAGAU(NP+1)= DEUTIE QSIGAU(NP+2)= DEUTIE ETAGAU(NP+2)= UNSIX XXXX = ((DEUX*DBLE(IA)-UN)/DBLE(NNAPPE))-UN DZEGAU(NP )= XXXX DZEGAU(NP+1)= XXXX DZEGAU(NP+2)= XXXX 7771 CONTINUE GOTO 666 C C======================================================================= C ELEMENT CARRE SURFACE=4 C======================================================================= C 8 IF(NBG.NE.1) GOTO 84 C C UN POINT D INTEGRATION (ordre 1) C POIGAU(1)=QUATRE GOTO 666 84 IF(NBG.NE.4) GOTO 85 C C 4 POINTS D INTEGRATION (ordre 3) C QSIGAU(1)=-X577 QSIGAU(2)= X577 QSIGAU(3)= X577 QSIGAU(4)=-X577 ETAGAU(1)=-X577 ETAGAU(2)=-X577 ETAGAU(3)= X577 ETAGAU(4)= X577 C C CAS DU JOI4, JCI4 ET JGI4 ON SE PLACE AUX SOMMETS C IF(MELE.EQ.88)THEN QSIGAU(1)=-UN QSIGAU(2)= UN QSIGAU(3)= UN QSIGAU(4)=-UN ETAGAU(1)=-UN ETAGAU(2)=-UN ETAGAU(3)= UN ETAGAU(4)= UN ENDIF C POIGAU(1)=UN POIGAU(2)=UN POIGAU(3)=UN POIGAU(4)=UN GOTO 666 85 IF(NBG.NE.5) GOTO 89 C C 5 POINTS D INTEGRATION C QSIGAU(1)=-X577 QSIGAU(2)= X577 QSIGAU(3)= X577 QSIGAU(4)=-X577 ETAGAU(1)=-X577 ETAGAU(2)=-X577 ETAGAU(3)= X577 ETAGAU(4)= X577 POIGAU(1)=UN POIGAU(2)=UN POIGAU(3)=UN POIGAU(4)=UN POIGAU(5)=QUATRE GOTO 666 C C 9 POINTS D INTEGRATION (ordre 5) C 89 IF (NBG.NE.9) GOTO 816 QSIGAU(1)=-X774 QSIGAU(3)= X774 QSIGAU(4)=-X774 QSIGAU(6)= X774 QSIGAU(7)=-X774 QSIGAU(9)= X774 ETAGAU(1)=-X774 ETAGAU(2)=-X774 ETAGAU(3)=-X774 ETAGAU(7)= X774 ETAGAU(8)= X774 ETAGAU(9)= X774 POIGAU(1)=P555*P555 POIGAU(3)=POIGAU(1) POIGAU(7)=POIGAU(1) POIGAU(9)=POIGAU(1) POIGAU(2)=P888*P555 POIGAU(4)=POIGAU(2) POIGAU(6)=POIGAU(2) POIGAU(8)=POIGAU(2) POIGAU(5)=P888*P888 GOTO 666 816 IF(NBG.NE.16) GOTO 88 C C CARRE 16 POINTS D INTEGRATION (ordre 7) C DO 8161 IA=1,13,4 QSIGAU(IA )=-X861 QSIGAU(IA+1 )=-X339 QSIGAU(IA+2 )= X339 QSIGAU(IA+3 )= X861 POIGAU(IA )= P347 POIGAU(IA+1 )= P652 POIGAU(IA+2 )= P652 POIGAU(IA+3 )= P347 8161 CONTINUE DO 8162 IA=1,4 ETAGAU(IA )=-X861 ETAGAU(IA+4 )=-X339 ETAGAU(IA+8 )= X339 ETAGAU(IA+12)= X861 POIGAU(IA )= P347*POIGAU(IA ) POIGAU(IA+4 )= P652*POIGAU(IA+4 ) POIGAU(IA+8 )= P652*POIGAU(IA+8 ) POIGAU(IA+12)= P347*POIGAU(IA+12) 8162 CONTINUE GOTO 666 C C ELEMENT CARRE 8 POINTS D INTEGRATION POUR COQ8 C 88 IF(NBG.NE.8) GOTO 888 QSIGAU(1)=-X577 QSIGAU(2)= X577 QSIGAU(3)= X577 QSIGAU(4)=-X577 C ETAGAU(1)=-X577 ETAGAU(2)=-X577 ETAGAU(3)= X577 ETAGAU(4)= X577 C QSIGAU(5)=-X577 QSIGAU(6)= X577 QSIGAU(7)= X577 QSIGAU(8)=-X577 C ETAGAU(5)=-X577 ETAGAU(6)=-X577 ETAGAU(7)= X577 ETAGAU(8)= X577 C DO 881 IA=1,4 POIGAU(IA )= UN POIGAU(IA+4)= UN DZEGAU(IA )=-X577 DZEGAU(IA+4)= X577 881 CONTINUE GOTO 666 C C PLUSIEURS NAPPES DE POINTS DE 4 POINTS D INTEGRATION C 888 IF(NBG.NE.12.AND.NBG.NE.16.AND.NBG.NE.20.AND.NBG.NE.24.AND. 1 NBG.NE.28) GOTO 66 NNAPPE=NBG/4 POIDS=HUIT/DBLE(NBG) DO 8881 IA=1,NNAPPE NP=IA*4-3 POIGAU(NP )=POIDS POIGAU(NP+1)=POIDS POIGAU(NP+2)=POIDS POIGAU(NP+3)=POIDS QSIGAU(NP )=-X577 QSIGAU(NP+1)= X577 QSIGAU(NP+2)= X577 QSIGAU(NP+3)=-X577 ETAGAU(NP )=-X577 ETAGAU(NP+1)=-X577 ETAGAU(NP+2)= X577 ETAGAU(NP+3)= X577 XXXX = ((DEUX*DBLE(IA)-UN)/DBLE(NNAPPE))-UN DZEGAU(NP )= XXXX DZEGAU(NP+1)= XXXX DZEGAU(NP+2)= XXXX DZEGAU(NP+3)= XXXX 8881 CONTINUE GOTO 666 C C======================================================================= C ELEMENT RACCORD 2 C======================================================================= C 12 CONTINUE C C UN POINT D INTEGRATION C IF(NBG.NE.1) GOTO 122 POIGAU(1)=DEUX GOTO 666 122 IF (NBG.NE.2) GOTO 123 C C 2 POINTS D INTEGRATION C C QUE LES ELEMENTS RACCORDS C POIGAU(1)= UN POIGAU(2)= UN QSIGAU(1)=-X577 QSIGAU(2)= X577 ETAGAU(1)=-UN ETAGAU(2)=-UN GOTO 666 C C 3 POINTS D INTEGRATION C C QUE LE LINESPRING C 123 IF(NBG.NE.3) GOTO 124 QSIGAU(1)=-X774 QSIGAU(3)= X774 ETAGAU(1)=-UN ETAGAU(2)=-UN ETAGAU(3)=-UN POIGAU(1)= P555 POIGAU(2)= P888 POIGAU(3)= P555 * * on integre au noeud (Lobatto) pour l'element de joint 86 (JOI3) * IF(MELE.EQ.86) THEN ETAGAU(1)=-UN ETAGAU(2)=-UN ETAGAU(3)=-UN QSIGAU(1)=-1.D0 QSIGAU(3)= 1.D0 POIGAU(1)= UNTIER POIGAU(2)= 2*DEUTIE POIGAU(3)= UNTIER ENDIF GOTO 666 C C 4 POINTS D INTEGRATION C 124 IF(NBG.NE.4) GOTO 66 QSIGAU(1)=-X861 QSIGAU(2)=-X339 QSIGAU(3)= X339 QSIGAU(4)= X861 POIGAU(1)= P347 POIGAU(2)= P652 POIGAU(3)= P652 POIGAU(4)= P347 GOTO 666 C C======================================================================= C ELEMENT CUBE VOLUME=8 C======================================================================= C 14 IF(NBG.NE.1) GOTO 148 C C UN POINT D INTEGRATION (ordre 1) C POIGAU(1)=HUIT GOTO 666 148 IF (NBG.NE.8) GOTO 1427 C C 8 POINTS D INTEGRATION (ordre 3) C QSIGAU(1)=-X577 QSIGAU(2)= X577 QSIGAU(3)= X577 QSIGAU(4)=-X577 QSIGAU(5)=-X577 QSIGAU(6)= X577 QSIGAU(7)= X577 QSIGAU(8)=-X577 ETAGAU(1)=-X577 ETAGAU(2)=-X577 ETAGAU(3)= X577 ETAGAU(4)= X577 ETAGAU(5)=-X577 ETAGAU(6)=-X577 ETAGAU(7)= X577 ETAGAU(8)= X577 DO 141 IA=1,4 POIGAU(IA )= UN POIGAU(IA+4)= UN DZEGAU(IA )=-X577 DZEGAU(IA+4)= X577 141 CONTINUE GOTO 666 C C 27 POINTS D INTEGRATION (ordre 5) C 1427 IF(NBG.NE.27) GOTO 1440 DO 151 IA=1,25,3 QSIGAU(IA )=-X774 QSIGAU(IA+2)= X774 151 CONTINUE DO 152 IA=1,9 DZEGAU(IA )=-X774 DZEGAU(IA+18)= X774 152 CONTINUE DO 153 IA=1,3 ETAGAU(IA )=-X774 ETAGAU(IA+6 )= X774 ETAGAU(IA+9 )=-X774 ETAGAU(IA+15)= X774 ETAGAU(IA+18)=-X774 ETAGAU(IA+24)= X774 153 CONTINUE POIGAU(1)=P555*P555 POIGAU(3)=POIGAU(1) POIGAU(7)=POIGAU(1) POIGAU(9)=POIGAU(1) POIGAU(2)=P888*P555 POIGAU(4)=POIGAU(2) POIGAU(6)=POIGAU(2) POIGAU(8)=POIGAU(2) POIGAU(5)=P888*P888 DO 154 IA=1,9 XX=POIGAU(IA) POIGAU(IA )=XX*P555 POIGAU(IA+9 )=XX*P888 POIGAU(IA+18)=POIGAU(IA) 154 CONTINUE GO TO 666 1440 IF(NBG.NE.5) go to 66 * special shb8 C -(sqrt((35+2*sqrt(70))/7))/3 QSIGAU(1) = -0.9061798459386639927976268782993929D0 C -(sqrt((35-2*sqrt(70))/7))/3 QSIGAU(2) = -0.5384693101056830910363144207002088D0 QSIGAU(3) = 0.D0 QSIGAU(4) = -QSIGAU(2) QSIGAU(5) = -QSIGAU(1) C C (322-13*sqrt(70))/900 POIGAU(1) = 0.2369268850561890875142640407199173D0 C (322+13*sqrt(70))/900 POIGAU(2) = 0.4786286704993664680412915148356381D0 POIGAU(3) = 0.5688888888888888888888888888888889D0 POIGAU(4) = POIGAU(2) POIGAU(5) = POIGAU(1) C GOTO 666 C C======================================================================= C ELEMENT PRISME VOLUME=1 C======================================================================= C C C UN POINT D INTEGRATION C 16 IF(NBG.NE.1) GOTO 162 POIGAU(1)=UN QSIGAU(1)=UNTIER ETAGAU(1)=UNTIER DZEGAU(1)=0. GOTO 666 C C 2 POINTS D INTEGRATION (ordre 1/3) C dans le plan (QSI,ETA), idem triangle a 1 pt de G --> ordre 1 C selon DZE, idem segment a 2 ptG -> ordre 3 C 162 IF(NBG.NE.2) GO TO 166 QSIGAU(1)=UNTIER QSIGAU(2)=UNTIER ETAGAU(1)=UNTIER ETAGAU(2)=UNTIER DZEGAU(1)=-X577 DZEGAU(2)= X577 POIGAU(1)=UNDEMI POIGAU(2)=UNDEMI GOTO 666 C C 6 POINTS D INTEGRATION (ordre 2/3) C dans le plan (QSI,ETA), idem triangle a 3 pt de G --> ordre 2 C selon DZE, idem segment a 2 ptG -> ordre 3 c 166 IF(NBG.NE.6) GO TO 168 QSIGAU(1)=UNSIX ETAGAU(1)=UNSIX QSIGAU(2)=DEUTIE ETAGAU(2)=UNSIX QSIGAU(3)=UNSIX ETAGAU(3)=DEUTIE QSIGAU(4)=UNSIX ETAGAU(4)=UNSIX QSIGAU(5)=DEUTIE ETAGAU(5)=UNSIX QSIGAU(6)=UNSIX ETAGAU(6)=DEUTIE DO IA=1,3 DZEGAU(IA )=-X577 DZEGAU(IA+3)= X577 ENDDO DO IA=1,6 POIGAU(IA)=UNSIX ENDDO GOTO 666 C C 8 POINTS D INTEGRATION (ordre 3/3) C (attention : poids negatif !) 168 IF(NBG.NE.8) GO TO 169 QSIGAU(1)=UNTIER QSIGAU(2)=UNCINQ QSIGAU(3)=UNCINQ*TROIS QSIGAU(4)=UNCINQ ETAGAU(1)=UNTIER ETAGAU(2)=UNCINQ ETAGAU(3)=UNCINQ ETAGAU(4)=UNCINQ*TROIS POIGAU(1)=P281 POIGAU(2)=P260 POIGAU(3)=P260 POIGAU(4)=P260 DO IA=1,4 QSIGAU(IA+4)=QSIGAU(IA) ETAGAU(IA+4)=ETAGAU(IA) POIGAU(IA+4)=POIGAU(IA) DZEGAU(IA) =-X577 DZEGAU(IA+4)= X577 ENDDO GOTO 666 C C 9 POINTS D INTEGRATION C 169 IF (NBG.NE.9 ) GOTO 1612 DO IA=1,7,3 QSIGAU(IA )=UNDEMI ETAGAU(IA+1)=UNDEMI QSIGAU(IA+2)=UNDEMI ETAGAU(IA+2)=UNDEMI ENDDO DO IA=1,3 DZEGAU(IA )=-X774 POIGAU(IA )=P555*UNSIX POIGAU(IA+3)=P888*UNSIX POIGAU(IA+6)=P555*UNSIX DZEGAU(IA+6)= X774 ENDDO GOTO 666 C C 12 POINTS D INTEGRATION (ordre 3/5) C dans le plan (QSI,ETA), idem triangle a 4 pt de G que C [Zienkiewicz, p.165] -> ordre 3 C selon DZE, idem segment a 3 ptG -> ordre 5 1612 IF (NBG.NE.12 ) GOTO 1621 DO 171 IA=2,10,4 QSIGAU(IA)=UNCINQ ETAGAU(IA)=UNCINQ 171 CONTINUE DO 172 IA=3,11,4 QSIGAU(IA )=UNCINQ*TROIS ETAGAU(IA )=UNCINQ QSIGAU(IA+1)=UNCINQ ETAGAU(IA+1)=UNCINQ*TROIS 172 CONTINUE DO 173 IA=1,9,4 QSIGAU(IA)=UNTIER ETAGAU(IA)=UNTIER 173 CONTINUE DO 174 IA=1,4 DZEGAU(IA )=-X774 DZEGAU(IA+8)= X774 174 CONTINUE DO 175 IA=2,4 POIGAU(IA )=P260*P555 POIGAU(IA+4)=P260*P888 POIGAU(IA+8)=P260*P555 175 CONTINUE POIGAU(1)=P281*P555 POIGAU(5)=P281*P888 POIGAU(9)=P281*P555 GO TO 666 C C 21 POINTS D INTEGRATION (ordre 5) C dans le plan (QSI,ETA), idem triangle a 7 pt de G que C [Zienkiewicz, p.165] -> ordre 5 C selon DZE, segment a 3 ptG -> ordre 5 1621 IF(NBG.NE.21) GO TO 66 QSIGAU(1)=X101 QSIGAU(2)=X797 QSIGAU(3)=X101 QSIGAU(4)=X470 QSIGAU(5)=X470 QSIGAU(6)=X059 QSIGAU(7)=UNTIER ETAGAU(1)=QSIGAU(1) ETAGAU(2)=QSIGAU(1) ETAGAU(3)=QSIGAU(2) ETAGAU(4)=QSIGAU(6) ETAGAU(5)=QSIGAU(4) ETAGAU(6)=QSIGAU(4) ETAGAU(7)=QSIGAU(7) POIGAU(1)=P125*UNDEMI POIGAU(2)=P125*UNDEMI POIGAU(3)=P125*UNDEMI POIGAU(4)=P132*UNDEMI POIGAU(5)=P132*UNDEMI POIGAU(6)=P132*UNDEMI POIGAU(7)=.1125D0 do iu=1,7 dzegau(iu+14)=X774 dzegau(iu+7)=0.d0 dzegau(iu)=-X774 enddo do 177 iu=1,7 poigau(iu+7)= poigau(iu)*P888 poigau(iu)=poigau(iu)*p555 poigau (iu+14)=poigau(iu) 177 continue do 178 iu=1,7 qsigau(iu+7)=qsigau(iu) qsigau(iu+14)=qsigau(iu) etagau(iu+7)= etagau(iu) etagau(iu+14)=etagau(iu) 178 continue go to 666 C C======================================================================= C ELEMENT LIAISON 3 C======================================================================= C 18 CONTINUE C C 1 POINTS D INTEGRATION C IF (NBG.NE.1) GOTO 183 QSIGAU(1)=UNTIER ETAGAU(1)=UNTIER POIGAU(1)=UNDEMI GOTO 666 C C 3 POINTS D INTEGRATION ZIENK P201 C 183 IF(NBG.NE.3) GOTO 184 QSIGAU(1)=UNDEMI ETAGAU(2)=UNDEMI QSIGAU(3)=UNDEMI ETAGAU(3)=UNDEMI POIGAU(1)=UNSIX POIGAU(2)=UNSIX POIGAU(3)=UNSIX GOTO 666 C C 4 POINTS D INTEGRATION ZIENK P201 C 184 IF (NBG.NE.4) GOTO 187 QSIGAU(1)=UNTIER QSIGAU(2)=UNCINQ QSIGAU(3)=UNCINQ*TROIS QSIGAU(4)=UNCINQ ETAGAU(1)=UNTIER ETAGAU(2)=UNCINQ ETAGAU(3)=UNCINQ ETAGAU(4)=UNCINQ*TROIS POIGAU(1)=-27.D0/96.D0 POIGAU(2)= 25.D0/96.D0 POIGAU(3)=POIGAU(2) POIGAU(4)=POIGAU(2) GOTO 666 C C 7 POINTS D INTEGRATION BATHE P280 C 187 IF(NBG.NE.7) GOTO 66 QSIGAU(1)=X101 QSIGAU(2)=X797 QSIGAU(3)=X101 QSIGAU(4)=X470 QSIGAU(5)=X470 QSIGAU(6)=X059 QSIGAU(7)=UNTIER ETAGAU(1)=QSIGAU(1) ETAGAU(2)=QSIGAU(1) ETAGAU(3)=QSIGAU(2) ETAGAU(4)=QSIGAU(6) ETAGAU(5)=QSIGAU(4) ETAGAU(6)=QSIGAU(4) ETAGAU(7)=QSIGAU(7) POIGAU(1)=P125*UNDEMI POIGAU(2)=P125*UNDEMI POIGAU(3)=P125*UNDEMI POIGAU(4)=P132*UNDEMI POIGAU(5)=P132*UNDEMI POIGAU(6)=P132*UNDEMI POIGAU(7)=.1125D0 GOTO 666 C C======================================================================= C ELEMENT LIAISON 4 C======================================================================= C 19 IF(NBG.NE.1) GOTO 194 C C UN POINT D INTEGRATION C POIGAU(1)=QUATRE GOTO 666 194 IF(NBG.NE.4) GOTO 199 C C 4 POINTS D INTEGRATION C QSIGAU(1)=-X577 QSIGAU(2)= X577 QSIGAU(3)= X577 QSIGAU(4)=-X577 ETAGAU(1)=-X577 ETAGAU(2)=-X577 ETAGAU(3)= X577 ETAGAU(4)= X577 POIGAU(1)=UN POIGAU(2)=UN POIGAU(3)=UN POIGAU(4)=UN GOTO 666 C C 9 POINTS D INTEGRATION C 199 IF (NBG.NE.9 ) GOTO 1916 QSIGAU(1)=-X774 QSIGAU(3)= X774 QSIGAU(4)=-X774 QSIGAU(6)= X774 QSIGAU(7)=-X774 QSIGAU(9)= X774 ETAGAU(1)=-X774 ETAGAU(2)=-X774 ETAGAU(3)=-X774 ETAGAU(7)= X774 ETAGAU(8)= X774 ETAGAU(9)= X774 POIGAU(1)=P555*P555 POIGAU(3)=POIGAU(1) POIGAU(7)=POIGAU(1) POIGAU(9)=POIGAU(1) POIGAU(2)=P888*P555 POIGAU(4)=POIGAU(2) POIGAU(6)=POIGAU(2) POIGAU(8)=POIGAU(2) POIGAU(5)=P888*P888 GOTO 666 1916 IF(NBG.NE.16) GOTO 66 C C CARRE 16 POINTS D INTEGRATION C DO 19161 IA=1,13,4 QSIGAU(IA )=-X861 QSIGAU(IA+1 )=-X339 QSIGAU(IA+2 )= X339 QSIGAU(IA+3 )= X861 POIGAU(IA )= P347 POIGAU(IA+1 )= P652 POIGAU(IA+2 )= P652 POIGAU(IA+3 )= P347 19161 CONTINUE DO 19162 IA=1,4 ETAGAU(IA )=-X861 ETAGAU(IA+4 )=-X339 ETAGAU(IA+8 )= X339 ETAGAU(IA+12)= X861 POIGAU(IA )= P347*POIGAU(IA ) POIGAU(IA+4 )= P652*POIGAU(IA+4 ) POIGAU(IA+8 )= P652*POIGAU(IA+8 ) POIGAU(IA+12)= P347*POIGAU(IA+12) 19162 CONTINUE GOTO 666 C C======================================================================= C ELEMENT TETRAEDRE VOLUME=1/6 C======================================================================= C 23 IF (NBG.NE.1) GOTO 234 C C 1 POINT D INTEGRATION (ordre 1) C QSIGAU(1)=UNQUA ETAGAU(1)=UNQUA DZEGAU(1)=UNQUA POIGAU(1)=UNSIX GOTO 666 C C 4 POINTS D INTEGRATION (ordre 2) c [Zienkiewicz, p.166] C 234 IF (NBG.NE.4) GOTO 235 QSIGAU(1)=X138 QSIGAU(2)=X585 QSIGAU(3)=X138 QSIGAU(4)=X138 ETAGAU(1)=X138 ETAGAU(2)=X138 ETAGAU(3)=X585 ETAGAU(4)=X138 DZEGAU(1)=X138 DZEGAU(2)=X138 DZEGAU(3)=X138 DZEGAU(4)=X585 POIGAU(1)=UN24 POIGAU(2)=UN24 POIGAU(3)=UN24 POIGAU(4)=UN24 GOTO 666 C C 5 POINTS D INTEGRATION (ordre 3) c [Zienkiewicz, p.166] (attention : poids negatif !) C 235 IF(NBG.NE.5) GOTO 236 QSIGAU(1)=UNQUA QSIGAU(2)=UNSIX QSIGAU(3)=UNSIX QSIGAU(4)=UNSIX QSIGAU(5)=UNDEMI ETAGAU(1)=UNQUA ETAGAU(2)=UNSIX ETAGAU(3)=UNSIX ETAGAU(4)=UNDEMI ETAGAU(5)=UNSIX DZEGAU(1)=UNQUA DZEGAU(2)=UNSIX DZEGAU(3)=UNDEMI DZEGAU(4)=UNSIX DZEGAU(5)=UNSIX POIGAU(1)=-.80D0*UNSIX POIGAU(2)= .45D0*UNSIX POIGAU(3)= .45D0*UNSIX POIGAU(4)= .45D0*UNSIX POIGAU(5)= .45D0*UNSIX GOTO 666 C C 11 POINTS D INTEGRATION (ordre 4) C [DHATT, FEM, p371] (attention : poids negatif !) C 236 IF(NBG.NE.11) GOTO 237 * 1er point = le centre QSIGAU(1)=UNQUA ETAGAU(1)=UNQUA DZEGAU(1)=UNQUA POIGAU(1)=P01315 * points 2 a 5 QSIGAU(2)=XONZ14 ETAGAU(3)=XONZ14 DZEGAU(4)=XONZ14 ETAGAU(2)=XUN14 DZEGAU(2)=XUN14 QSIGAU(3)=XUN14 DZEGAU(3)=XUN14 QSIGAU(4)=XUN14 ETAGAU(4)=XUN14 QSIGAU(5)=XUN14 ETAGAU(5)=XUN14 DZEGAU(5)=XUN14 POIGAU(2)=P00762 POIGAU(3)=P00762 POIGAU(4)=P00762 POIGAU(5)=P00762 * points 6 a 11 QSIGAU( 6)=UNQUA ETAGAU( 6)=UNQUA DZEGAU( 6)=UNQUA QSIGAU( 7)=UNQUA DZEGAU( 7)=UNQUA QSIGAU( 8)=UNQUA ETAGAU( 9)=UNQUA DZEGAU( 9)=UNQUA DZEGAU(10)=UNQUA ETAGAU(11)=UNQUA ETAGAU( 7)=UNSIX ETAGAU( 8)=UNSIX DZEGAU( 8)=UNSIX QSIGAU( 9)=UNSIX QSIGAU(10)=UNSIX ETAGAU(10)=UNSIX QSIGAU(11)=UNSIX DZEGAU(11)=UNSIX POIGAU(6)=P00124 POIGAU(7)=P00124 POIGAU(8)=P00124 POIGAU(9)=P00124 POIGAU(10)=P00124 POIGAU(11)=P00124 GOTO 666 C C 15 POINTS D INTEGRATION (ordre 5) C [DHATT, FEM, p371] C 237 IF(NBG.NE.15) GOTO 66 * 1er point = le centre QSIGAU(1)=UNQUA ETAGAU(1)=UNQUA DZEGAU(1)=UNQUA POIGAU(1)=P0197 * points 2 a 5 QSIGAU(2)=X3197 ETAGAU(2)=X3197 DZEGAU(2)=X3197 c QSIGAU(3)=X7240 QSIGAU(3)=X0406 ETAGAU(3)=X3197 DZEGAU(3)=X3197 QSIGAU(4)=X3197 c ETAGAU(4)=X7240 ETAGAU(4)=X0406 DZEGAU(4)=X3197 QSIGAU(5)=X3197 ETAGAU(5)=X3197 c DZEGAU(5)=X7240 DZEGAU(5)=X0406 c POIGAU(2)=P0119 c POIGAU(3)=P0119 c POIGAU(4)=P0119 c POIGAU(5)=P0119 POIGAU(2)=P0115 POIGAU(3)=P0115 POIGAU(4)=P0115 POIGAU(5)=P0115 * points 6 a 9 QSIGAU(6)=X0919 ETAGAU(6)=X0919 DZEGAU(6)=X0919 c QSIGAU(7)=X0406 QSIGAU(7)=X7240 ETAGAU(7)=X0919 DZEGAU(7)=X0919 QSIGAU(8)=X0919 c ETAGAU(8)=X0406 ETAGAU(8)=X7240 DZEGAU(8)=X0919 QSIGAU(9)=X0919 ETAGAU(9)=X0919 c DZEGAU(9)=X0406 DZEGAU(9)=X7240 c POIGAU(6)=P0115 c POIGAU(7)=P0115 c POIGAU(8)=P0115 c POIGAU(9)=P0115 POIGAU(6)=P0119 POIGAU(7)=P0119 POIGAU(8)=P0119 POIGAU(9)=P0119 * points 10 a 15 QSIGAU(10)=X4436 ETAGAU(10)=X0563 DZEGAU(10)=X0563 QSIGAU(11)=X0563 ETAGAU(11)=X4436 DZEGAU(11)=X0563 QSIGAU(12)=X0563 ETAGAU(12)=X0563 DZEGAU(12)=X4436 QSIGAU(13)=X0563 ETAGAU(13)=X4436 DZEGAU(13)=X4436 QSIGAU(14)=X4436 ETAGAU(14)=X0563 DZEGAU(14)=X4436 QSIGAU(15)=X4436 ETAGAU(15)=X4436 DZEGAU(15)=X0563 POIGAU(10)=P0088 POIGAU(11)=P0088 POIGAU(12)=P0088 POIGAU(13)=P0088 POIGAU(14)=P0088 POIGAU(15)=P0088 GOTO 666 C C======================================================================= C ELEMENT PYRAMIDE VOLUME=2/3 C======================================================================= C 25 IF(NBG.NE.1) GOTO 255 C C UN POINT D INTEGRATION (ordre 1) C DZEGAU(1)=UNQUA POIGAU(1)=DEUTIE GOTO 666 C C 5 POINTS D INTEGRATION (ordre 2?) C regle d'integration retrouvee par [Kubatko et al.,FEAD, 2013] 255 IF(NBG.NE.5) GOTO 256 AUX= 0.5D0 POI1= 0.133333333333333333333333333333333D0 POI2= 0.133333333333333333333333333333333D0 C (10-sqrt(15))/40 H1 = 0.153175416344814577870518365005440D0 C (5+2*sqrt(15))/20 H2 = 0.637298334620741688517926539978239D0 QSIGAU(1)= AUX QSIGAU(2)= XZERO QSIGAU(3)=-AUX QSIGAU(4)= XZERO QSIGAU(5)= XZERO ETAGAU(1)= XZERO ETAGAU(2)= AUX ETAGAU(3)= XZERO ETAGAU(4)=-AUX ETAGAU(5)= XZERO DO 251 IA=1,4 DZEGAU(IA)= H1 POIGAU(IA)= POI1 251 CONTINUE DZEGAU(5)= H2 POIGAU(5)= POI2 GOTO 666 C C 6 POINTS D INTEGRATION (???) C 256 IF (NBG.NE.6) GOTO 2510 C AUX =.5702963741068025D0 POI1=.1024890634400000D0 POI2= .110000000000000000000000000000000D0 POI3=.1467104129066667D0 H1 =.16666666666666666666666666666666667D0 H2 =.8063183038464675D-1 H3 =.6098484849057127D0 QSIGAU(1)= AUX QSIGAU(2)= XZERO QSIGAU(3)=-AUX QSIGAU(4)= XZERO QSIGAU(5)= XZERO QSIGAU(6)= XZERO ETAGAU(1)= XZERO ETAGAU(2)= AUX ETAGAU(3)= XZERO ETAGAU(4)=-AUX ETAGAU(5)= XZERO ETAGAU(6)= XZERO DO 2516 IA=1,4 DZEGAU(IA)= H1 POIGAU(IA)= POI1 2516 CONTINUE DZEGAU(5)= H2 DZEGAU(6)= H3 POIGAU(5)= POI2 POIGAU(6)= POI3 GOTO 666 c C rem bp : pour 10 et 17 points, cf. [Kubatko et al.,FEAD, 2013] C C 10 POINTS D INTEGRATION (ordre 4?) C 2510 IF (NBG.NE.10) GOTO 2517 * points 1 a 4 QSIGAU(1)=-0.657966997126504D0 QSIGAU(2)= 0.657966997126504D0 ETAGAU(3)=-0.657966997126504D0 ETAGAU(4)= 0.657966997126504D0 DO IA=1,4 DZEGAU(IA)=0.0392482838982998D0 POIGAU(IA)=0.0423460604458543D0 ENDDO * points 5 DZEGAU(5)=0.12513695309945289D0 POIGAU(5)=0.13792226838670674D0 * points 6 a 9 QSIGAU(6)=-0.325290778196272556D0 QSIGAU(7)= 0.325290778196272556D0 QSIGAU(8)= 0.325290778196272556D0 QSIGAU(9)=-0.325290778196272556D0 ETAGAU(6)=-0.325290778196272556D0 ETAGAU(7)=-0.325290778196272556D0 ETAGAU(8)= 0.325290778196272556D0 ETAGAU(9)= 0.325290778196272556D0 DO IA=6,9 DZEGAU(IA)=0.32238414957239719D0 POIGAU(IA)=0.07088305859532487D0 ENDDO * points 10 DZEGAU(10)=0.677232788884158832D0 POIGAU(10)=0.07582792211524662D0 GOTO 666 C C 17 POINTS D INTEGRATION (ordre 5?) C 2517 IF (NBG.NE.17) GOTO 258 * points 1 a 4 QSIGAU(1)=-0.3196022296916385D0 ETAGAU(1)=-0.3196022296916385D0 QSIGAU(2)=0.3196022296916385D0 ETAGAU(2)=-0.3196022296916385D0 QSIGAU(3)=0.3196022296916385D0 ETAGAU(3)=0.3196022296916385D0 QSIGAU(4)=-0.3196022296916385D0 ETAGAU(4)=0.3196022296916385D0 DO IA=1,4 DZEGAU(IA)=0.0634862039888108D0 POIGAU(IA)=0.0576400632904598D0 ENDDO * points 5 a 8 QSIGAU(5)=0.7980415331554783D0 QSIGAU(6)=-0.7980415331554783D0 ETAGAU(7)=0.7980415331554783D0 ETAGAU(8)=-0.7980415331554783D0 DO IA=5,8 DZEGAU(IA)=0.0954161323042548D0 POIGAU(IA)=0.0181053421609235D0 ENDDO * points 9 a 12 QSIGAU(9)=-0.2341903767177774D0 ETAGAU(9)=-0.2341903767177774D0 QSIGAU(10)=0.2341903767177774D0 ETAGAU(10)=-0.2341903767177774D0 QSIGAU(11)=0.2341903767177774D0 ETAGAU(11)=0.2341903767177774D0 QSIGAU(12)=-0.2341903767177774D0 ETAGAU(12)=0.2341903767177774D0 DO IA=9,12 DZEGAU(IA)=0.3174282137715947D0 POIGAU(IA)=0.0639133011727061D0 ENDDO * points 13 a 16 QSIGAU(13)=0.4433429394393417D0 QSIGAU(14)=-0.4433429394393417D0 ETAGAU(15)=0.4433429394393417D0 ETAGAU(16)=-0.4433429394393417D0 DO IA=13,16 DZEGAU(IA)=0.4914145363689955D0 POIGAU(IA)=0.0153472930269660D0 ENDDO * point 17 DZEGAU(17)=0.7246590783754809D0 POIGAU(17)=0.0466426680624461D0 GOTO 666 C C rem bp : pour 8 et 27 points, methode decrite dans [Bedrosian, 1992] c elle-meme basee sur [Hammer, Marlow et Stroud, 1957] C valeurs generees automatiquement par un dgibi bien ecrit ;) C C 8 POINTS D INTEGRATION (ordre 3) C 258 IF (NBG.NE.8) GOTO 2527 QSIGAU(1)=-.2631840555697141D0 DZEGAU(1)=0.5441518440112245D0 POIGAU(1)=0.0503929410399128D0 ETAGAU(2)=0.2631840555697141D0 DZEGAU(2)=0.5441518440112245D0 POIGAU(2)=0.0503929410399128D0 ETAGAU(3)=-.2631840555697141D0 DZEGAU(3)=0.5441518440112245D0 POIGAU(3)=0.0503929410399128D0 QSIGAU(4)=0.2631840555697141D0 DZEGAU(4)=0.5441518440112245D0 POIGAU(4)=0.0503929410399128D0 QSIGAU(5)=-.5066163033497884D0 DZEGAU(5)=0.1225148226554399D0 POIGAU(5)=0.1162737256267542D0 ETAGAU(6)=0.5066163033497884D0 DZEGAU(6)=0.1225148226554399D0 POIGAU(6)=0.1162737256267542D0 ETAGAU(7)=-.5066163033497884D0 DZEGAU(7)=0.1225148226554399D0 POIGAU(7)=0.1162737256267542D0 QSIGAU(8)=0.5066163033497884D0 DZEGAU(8)=0.1225148226554399D0 POIGAU(8)=0.1162737256267542D0 GOTO 666 C C 27 POINTS D INTEGRATION (ordre 5) C 2527 IF(NBG.NE.27) GO TO 66 c rem bp : on a remplace l'ancienne methode qui semblait erronee! QSIGAU(1)=-.2285043056539678D0 DZEGAU(1)=0.7050022098884978D0 POIGAU(1)=0.0046220220692254D0 QSIGAU(2)=-.1142521528269839D0 ETAGAU(2)=0.1142521528269839D0 DZEGAU(2)=0.7050022098884978D0 POIGAU(2)=0.0073952353107607D0 ETAGAU(3)=0.2285043056539678D0 DZEGAU(3)=0.7050022098884978D0 POIGAU(3)=0.0046220220692254D0 QSIGAU(4)=-.1142521528269839D0 ETAGAU(4)=-.1142521528269839D0 DZEGAU(4)=0.7050022098884978D0 POIGAU(4)=0.0073952353107607D0 DZEGAU(5)=0.7050022098884978D0 POIGAU(5)=0.0118323764972171D0 QSIGAU(6)=0.1142521528269839D0 ETAGAU(6)=0.1142521528269839D0 DZEGAU(6)=0.7050022098884978D0 POIGAU(6)=0.0073952353107607D0 ETAGAU(7)=-.2285043056539678D0 DZEGAU(7)=0.7050022098884978D0 POIGAU(7)=0.0046220220692254D0 QSIGAU(8)=0.1142521528269839D0 ETAGAU(8)=-.1142521528269839D0 DZEGAU(8)=0.7050022098884978D0 POIGAU(8)=0.0073952353107607D0 QSIGAU(9)=0.2285043056539678D0 DZEGAU(9)=0.7050022098884978D0 POIGAU(9)=0.0046220220692254D0 QSIGAU(10)=-.5058087078539260D0 DZEGAU(10)=0.3470037660383507D0 POIGAU(10)=0.0225688687129423D0 QSIGAU(11)=-.2529043539269630D0 ETAGAU(11)=0.2529043539269630D0 DZEGAU(11)=0.3470037660383507D0 POIGAU(11)=0.0361101899407077D0 ETAGAU(12)=0.5058087078539260D0 DZEGAU(12)=0.3470037660383507D0 POIGAU(12)=0.0225688687129423D0 QSIGAU(13)=-.2529043539269630D0 ETAGAU(13)=-.2529043539269630D0 DZEGAU(13)=0.3470037660383507D0 POIGAU(13)=0.0361101899407077D0 DZEGAU(14)=0.3470037660383507D0 POIGAU(14)=0.0577763039051324D0 QSIGAU(15)=0.2529043539269630D0 ETAGAU(15)=0.2529043539269630D0 DZEGAU(15)=0.3470037660383507D0 POIGAU(15)=0.0361101899407077D0 ETAGAU(16)=-.5058087078539260D0 DZEGAU(16)=0.3470037660383507D0 POIGAU(16)=0.0225688687129423D0 QSIGAU(17)=0.2529043539269630D0 ETAGAU(17)=-.2529043539269630D0 DZEGAU(17)=0.3470037660383507D0 POIGAU(17)=0.0361101899407077D0 QSIGAU(18)=0.5058087078539260D0 DZEGAU(18)=0.3470037660383507D0 POIGAU(18)=0.0225688687129423D0 QSIGAU(19)=-.7180557413198901D0 DZEGAU(19)=0.0729940240731481D0 POIGAU(19)=0.0242494384359393D0 QSIGAU(20)=-.3590278706599451D0 ETAGAU(20)=0.3590278706599451D0 DZEGAU(20)=0.0729940240731481D0 POIGAU(20)=0.0387991014975029D0 ETAGAU(21)=0.7180557413198901D0 DZEGAU(21)=0.0729940240731481D0 POIGAU(21)=0.0242494384359393D0 QSIGAU(22)=-.3590278706599451D0 ETAGAU(22)=-.3590278706599451D0 DZEGAU(22)=0.0729940240731481D0 POIGAU(22)=0.0387991014975029D0 DZEGAU(23)=0.0729940240731481D0 POIGAU(23)=0.0620785623960047D0 QSIGAU(24)=0.3590278706599451D0 ETAGAU(24)=0.3590278706599451D0 DZEGAU(24)=0.0729940240731481D0 POIGAU(24)=0.0387991014975029D0 ETAGAU(25)=-.7180557413198901D0 DZEGAU(25)=0.0729940240731481D0 POIGAU(25)=0.0242494384359393D0 QSIGAU(26)=0.3590278706599451D0 ETAGAU(26)=-.3590278706599451D0 DZEGAU(26)=0.0729940240731481D0 POIGAU(26)=0.0387991014975029D0 QSIGAU(27)=0.7180557413198901D0 DZEGAU(27)=0.0729940240731481D0 POIGAU(27)=0.0242494384359393D0 GOTO 666 C 30 CONTINUE C C======================================================================= C ELEMENT POLYGONE A NNO COTES C======================================================================= C POIDS = COS(XPI/NNO) * SIN(XPI/NNO) C IF ( NBG .EQ.1) THEN C QSIGAU(1) = XZERO ETAGAU(1) = XZERO POIGAU(1) = POIDS * NNO C ELSE C SCOS2 = XZERO SCOS4 = XZERO SQSI2 = XZERO SQSI4 = XZERO TGPSN = TAN(XPI/NNO) TG2PSN = TGPSN * TGPSN C DO 300, IA=1, NNO C BETA = 2 * (IA - 1) * XPI / NNO CIA2 = CIA*CIA CIB = COS(BETA) CIB2 = CIB*CIB SIB = SIN(BETA) SIB2 = SIB*SIB C C Calcul de la somme des abscisses carré et puissance 4 C des points de GAUSS C SCOS2 = SCOS2+CIA2 SCOS4 = SCOS4+CIA2*CIA2 C C Calcul de la somme des integrales sur chaque triangle C de QSI ** 2 C SQSI2 = SQSI2 + 3 * CIB2 + TG2PSN * SIB2 C C Calcul de la somme des integrales sur chaque triangle C de QSI ** 4 C SQSI4 = SQSI4 + CIB2*CIB2 + 2*TG2PSN*CIB2*SIB2 + & TG2PSN*TG2PSN*SIB2*SIB2/5 C 300 CONTINUE C SOM2 = SQSI2 * COS (XPI/NNO) ** 4 * TGPSN / 6 SOM4 = SQSI4 * COS (XPI/NNO) ** 6 * TGPSN / 3 C IF (NBG .EQ. NNO) THEN C C Recherche du poids des points de GAUSS N points C PE = POIDS C C Distance relative des points de GAUSS au centre du polygome C C ELSEIF (NBG.EQ.NNO+1) THEN C C Recherche du poids des points de GAUSS N+1 points C PE = SOM2*SOM2*SCOS4/(SOM4*SCOS2*SCOS2) PC = NNO*(POIDS-PE) C C Distance relative des points de GAUSS au centre du polynome C C C ABCSISSE ET POIDS DU POINT CENTRAL C QSIGAU(NBG) = XZERO ETAGAU(NBG) = XZERO POIGAU(NBG) = PC C ELSE GOTO 66 ENDIF C DO 305, IA = 1, NNO C C POIGAU(IA) = PE C 305 CONTINUE C ENDIF GOTO 666 C 95 CONTINUE C C======================================================================= C ELEMENTS DE COQUE INTEGRES C======================================================================= C IF(MELE.EQ.28.OR.MELE.EQ.93) THEN NNAPPE=NBG/3 POIDS=UNSIX DO 7772 IA=1,NNAPPE NP=IA*3-2 POIGAU(NP )=POIDS POIGAU(NP+1)=POIDS POIGAU(NP+2)=POIDS QSIGAU(NP )= UNDEMI ETAGAU(NP+1)= UNDEMI QSIGAU(NP+2)= UNDEMI ETAGAU(NP+2)= UNDEMI XXXX = DEUX*((DBLE(IA)-UN)/(DBLE(NNAPPE)-UN))-UN DZEGAU(NP )= XXXX DZEGAU(NP+1)= XXXX DZEGAU(NP+2)= XXXX 7772 CONTINUE ELSE GOTO 66 ENDIF GOTO 666 C 96 CONTINUE C C ELEMENT TUYO LONGUEUR = 2 C IF(NBG.EQ.1) THEN QSIGAU(1)= 0.D0 POIGAU(1)= 2.D0 ELSE NTETA= NBG/2 DO 961 IN=1,NTETA QSIGAU(IN)= -X577 QSIGAU(IN+NTETA)= X577 961 CONTINUE * DTETA=2.D0*XPI/DBLE(NTETA) DO 962 IN=1,NTETA POIGAU(IN)=DTETA POIGAU(IN+NTETA)=DTETA 962 CONTINUE ENDIF GO TO 666 * 1570 CONTINUE C C======================================================================= C ELEMENT HOMOGENE TRH6 C======================================================================= C IF(MELE.NE.157) GOTO 66 QSIGAU(1)=X044 ETAGAU(1)=X044 QSIGAU(2)=UN-(DEUX*X044) ETAGAU(2)=X044 QSIGAU(3)=X044 ETAGAU(3)=UN-(DEUX*X044) QSIGAU(4)=X009 ETAGAU(4)=X009 QSIGAU(5)=UN-(DEUX*X009) ETAGAU(5)=X009 QSIGAU(6)=X009 ETAGAU(6)=UN-(DEUX*X009) POIGAU(1)=X111 POIGAU(2)=X111 POIGAU(3)=X111 POIGAU(4)=X005 POIGAU(5)=X005 POIGAU(6)=X005 GOTO 666 * 666 CONTINUE IF(IRET.EQ.0) SEGSUP MINTE END
© Cast3M 2003 - Tous droits réservés.
Mentions légales