1 : C BELEC SOURCE FANDEUR 10/12/17 21:15:32 6427 2 : 3 : C======================================================================= 4 : C= B E L E C = 5 : C= --------- = 6 : C= Fonction : = 7 : C= ---------- = 8 : C= Calcul de la matrice Bel reliant le champ electrique en un point = 9 : C= d'un element fini aux ddls de potentiel aux noeuds de cet element = 10 : C= Le jacobien est egalement evalue en ce point pour verifier par la = 11 : C= suite si l'element fini n'est pas trop distordu. = 12 : C= = 13 : C= Parametres : (E)=Entree (S)=Sortie = 14 : C= ------------ = 15 : C= XEL (E) Coordonnees des noeuds de l'element fini considere = 16 : C= SHPREF (E) Fonctions de forme et leurs derivees au point etudie = 17 : C= NBNO (E) Nombre de noeuds de l'element fini = 18 : C= NDIM (E) Nombre de lignes de la matrice GRDEL = 19 : C= ISGNG (E) Valeur negative (<0) si on veut le champ electrique, = 20 : C= i.e. l'oppose du gradient = 21 : C= = 22 : C= SHP (S) Fonctions de forme et leurs derivees "actuelles" = 23 : C= GRDEL (S) Matrice de gradients Bel calculee au point etudie = 24 : C= DJAC (S) Jacobien au point de l'element etudie = 25 : C= = 26 : C= Remarque : = 27 : C= ---------- = 28 : C= Lors de l'entree dans le sous-programme, SHPREF(2 a 4,*) contient = 29 : C= les DERIVEES des fonctions de forme par rapport aux coordonnees = 30 : C= de REFERENCE Qsi,Eta,Dzeta. = 31 : C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES = 32 : C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. = 33 : C======================================================================= 34 : 35 : SUBROUTINE BELEC (XEL,SHPREF,NBNO,NDIM,ISGNG, SHP,GRDEL,DJAC) 36 : 37 : IMPLICIT INTEGER(I-N) 38 : IMPLICIT REAL*8 (A-H,O-Z) 39 : 40 : -INC CCREEL 41 : -INC CCOPTIO 42 : 43 : C= Quelques constantes (2.Pi et 4.Pi) 44 : PARAMETER (X2Pi= 6.283185307179586476925286766559D0) 45 : PARAMETER (X4Pi=12.566370614359172953850573533118D0) 46 : 47 : DIMENSION XEL(3,*),SHPREF(6,*), SHP(6,*),GRDEL(NDIM,*) 48 : 49 : C ==================== 50 : C 1 - Initialisation 51 : C ==================== 51 : C*OF CALL ZERO(GRDEL,IDIM,NBNO) 52 : 53 : C =================================== 54 : C 2.1 - Cas des elements massifs 3D 55 : C =================================== 56 : IF (IFOMOD.EQ.2) THEN 57 : DO j = 1, NBNO 58 : SHP(1,j) = SHPREF(1,j) 59 : SHP(2,j) = SHPREF(2,j) 60 : SHP(3,j) = SHPREF(3,j) 61 : SHP(4,j) = SHPREF(4,j) 62 : ENDDO 62 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 63 : IF (ISGNG .GE. 0) THEN 64 : DO j = 1, NBNO 65 : GRDEL(1,j) = SHP(2,j) 66 : GRDEL(2,j) = SHP(3,j) 67 : GRDEL(3,j) = SHP(4,j) 68 : ENDDO 69 : ELSE 70 : DO j = 1, NBNO 71 : GRDEL(1,j) = -SHP(2,j) 72 : GRDEL(2,j) = -SHP(3,j) 73 : GRDEL(3,j) = -SHP(4,j) 74 : ENDDO 75 : ENDIF 76 : C ========================================================= 77 : C 2.2 - Cas des elements massifs 2D PLAN ou AXISymetrique 78 : C ========================================================= 79 : ELSE IF (IFOMOD.EQ.-1 .OR. IFOMOD.EQ.0) THEN 80 : DO j = 1,NBNO 81 : SHP(1,j) = SHPREF(1,j) 82 : SHP(2,j) = SHPREF(2,j) 83 : SHP(3,j) = SHPREF(3,j) 84 : ENDDO 84 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 85 : IF (ISGNG .GE. 0) THEN 86 : DO j = 1, NBNO 87 : GRDEL(1,j) = SHP(2,j) 88 : GRDEL(2,j) = SHP(3,j) 89 : ENDDO 90 : ELSE 91 : DO j = 1, NBNO 92 : GRDEL(1,j) = -SHP(2,j) 93 : GRDEL(2,j) = -SHP(3,j) 94 : ENDDO 95 : ENDIF 96 : IF (IFOMOD.EQ.0) THEN 96 : CALL DISTRR(XEL,SHP,NBNO,RR) 97 : DJAC = X2Pi*DJAC*RR 98 : ENDIF 99 : C =================================================== 100 : C 2.3 - Cas des elements massifs 2D en mode FOURIER 101 : C =================================================== 102 : ELSE IF (IFOMOD.EQ.1) THEN 103 : DO j = 1,NBNO 104 : SHP(1,j) = SHPREF(1,j) 105 : SHP(2,j) = SHPREF(2,j) 106 : SHP(3,j) = SHPREF(3,j) 107 : ENDDO 107 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 107 : CALL DISTRR(XEL,SHP,NBNO,RR) 108 : IF (ISGNG .GE. 0) THEN 109 : DNN = NIFOUR/RR 110 : DO j = 1, NBNO 111 : GRDEL(1,j) = SHP(2,j) 112 : GRDEL(2,j) = DNN*SHP(1,j) 113 : GRDEL(3,j) = SHP(3,j) 114 : ENDDO 115 : ELSE 116 : DNN = -NIFOUR/RR 117 : DO j = 1, NBNO 118 : GRDEL(1,j) = -SHP(2,j) 119 : GRDEL(2,j) = DNN*SHP(1,j) 120 : GRDEL(3,j) = -SHP(3,j) 121 : ENDDO 122 : ENDIF 123 : IF (NIFOUR.EQ.0) THEN 124 : DJAC = X2Pi*DJAC*RR 125 : ELSE 126 : DJAC = XPi*DJAC*RR 127 : ENDIF 128 : C =================================== 129 : C 2.4 - Cas des elements MASSIFS 1D 130 : C =================================== 131 : ELSE IF (IFOMOD.EQ.3 .OR. IFOMOD.EQ.4 .OR. IFOMOD.EQ.5) THEN 132 : DO j = 1,NBNO 133 : SHP(1,j) = SHPREF(1,j) 134 : SHP(2,j) = SHPREF(2,j) 135 : ENDDO 135 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 136 : C= Traitement des modes axisymetriques et spherique 1D 137 : IF (ISGNG .GE. 0) THEN 138 : DO j = 1,NBNO 139 : GRDEL(1,j) = SHP(2,j) 140 : ENDDO 141 : ELSE 142 : DO j = 1, NBNO 143 : GRDEL(1,j) = -SHP(2,j) 144 : ENDDO 145 : ENDIF 146 : IF (IFOMOD.EQ.4) THEN 146 : CALL DISTRR(XEL,SHP,NBNO,RR) 147 : DJAC = X2Pi*DJAC*RR 148 : ELSE IF (IFOMOD.EQ.5) THEN 148 : CALL DISTRR(XEL,SHP,NBNO,RR) 149 : DJAC = X4Pi*DJAC*RR*RR 150 : ENDIF 151 : 152 : ENDIF 153 : 154 : RETURN 155 : END 156 : 157 :
© Cast3M 2003 - All rights reserved.
Disclaimer