1 : C NDIFF SOURCE FANDEUR 10/12/17 21:18:16 6427 2 : 3 : C======================================================================= 4 : C= N D I F F = 5 : C= --------- = 6 : C= Fonction : = 7 : C= ---------- = 8 : C= Calcul de la matrice N des fonctions de forme de l'element fini = 9 : C= en un point donne de l'element, matrice N intervenant lors du = 10 : C= calcul des forces nodales equivalentes a une densite de sources = 11 : C= de quantite diffusante et dans le calcul de la "capacite" CDiff. = 12 : C= = 13 : C= Parametres : (E)=Entree (S)=Sortie = 14 : C= ------------ = 15 : C= NBNO (E) Nombre de noeuds de l'element fini = 16 : C= XEL (E) Coordonnees des noeuds de l'element fini etudie = 17 : C= SHPREF (E) Fonctions de forme et leurs derivees (reference) = 18 : C= SHP (S) Fonctions de forme et leurs derivees (reelles) = 19 : C= FORME (S) Matrice des fcts de forme (N) au point considere = 20 : C= DJAC (S) Jacobien au point considere = 21 : C= = 22 : C= Remarque : = 23 : C= ---------- = 24 : C= Lors de l'entree dans le sous-programme, SHPREF(2 a 4,*) contient = 25 : C= les DERIVEES des fonctions de forme par rapport aux coordonnees = 26 : C= de REFERENCE Qsi,Eta,Dzeta. = 27 : C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES = 28 : C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. = 29 : C======================================================================= 30 : 31 : SUBROUTINE NDIFF (NBNO,XEL,SHPREF, SHP,FORME,DJAC) 32 : 33 : IMPLICIT INTEGER(I-N) 34 : IMPLICIT REAL*8 (A-H,O-Z) 35 : 36 : -INC CCOPTIO 37 : -INC CCREEL 38 : 39 : C= Quelques constantes (2.Pi et 4.Pi) 40 : PARAMETER (X2Pi= 6.283185307179586476925286766559D0) 41 : PARAMETER (X4Pi=12.566370614359172953850573533118D0) 42 : 43 : DIMENSION XEL(3,*),SHPREF(6,*), SHP(6,*),FORME(*) 44 : 45 : C ==================== 46 : C 1 - Initialisation 47 : C ==================== 48 : C* DO j = 1, NBNO 49 : C* FORME(j) = XZero 50 : C* ENDDO 51 : 52 : C =================================== 53 : C 2.1 - Cas des elements MASSIFS 3D 54 : C =================================== 55 : IF (IFOMOD.EQ.2) THEN 56 : DO j = 1, NBNO 57 : SHP(1,j) = SHPREF(1,j) 58 : SHP(2,j) = SHPREF(2,j) 59 : SHP(3,j) = SHPREF(3,j) 60 : SHP(4,j) = SHPREF(4,j) 61 : FORME(j) = SHPREF(1,j) 62 : ENDDO 62 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 63 : C ========================================================= 64 : C 2.2 - Cas des elements MASSIFS 2D PLAN ou AXISYMETRIQUE 65 : C ========================================================= 66 : ELSE IF (IFOMOD.EQ.-1 .OR. IFOMOD.EQ.0) THEN 67 : DO j = 1, NBNO 68 : SHP(1,j) = SHPREF(1,j) 69 : SHP(2,j) = SHPREF(2,j) 70 : SHP(3,j) = SHPREF(3,j) 71 : FORME(j) = SHPREF(1,j) 72 : ENDDO 72 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 73 : IF (IFOMOD.EQ.0) THEN 73 : CALL DISTRR(XEL,SHP,NBNO,RR) 74 : DJAC = X2Pi*DJAC*RR 75 : ENDIF 76 : C =================================== 77 : C 2.3 - Cas des elements MASSIFS 1D 78 : C =================================== 79 : ELSE IF (IFOMOD.EQ.3 .OR. IFOMOD.EQ.4 .OR. IFOMOD.EQ.5) THEN 80 : DO j = 1, NBNO 81 : SHP(1,j) = SHPREF(1,j) 82 : SHP(2,j) = SHPREF(2,j) 83 : FORME(j) = SHPREF(1,j) 84 : ENDDO 84 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 85 : C Cas particulier des modes axisymetriques et spherique 1D 86 : IF (IFOMOD.EQ.4.OR.IFOMOD.EQ.5) THEN 86 : CALL DISTRR(XEL,SHP,NBNO,RR) 87 : IF (IFOMOD.EQ.5) THEN 88 : DJAC = X4Pi*DJAC*RR*RR 89 : ELSE 90 : DJAC = X2Pi*DJAC*RR 91 : ENDIF 92 : ENDIF 93 : C =========================================== 94 : C 2.4 - Cas des elements MASSIFS 2D FOURIER 95 : C =========================================== 96 : ELSE IF (IFOMOD.EQ.1) THEN 97 : DO j = 1,NBNO 98 : SHP(1,j) = SHPREF(1,j) 99 : SHP(2,j) = SHPREF(2,j) 100 : SHP(3,j) = SHPREF(3,j) 101 : FORME(j) = SHPREF(1,j) 102 : ENDDO 102 : CALL JACOBI(XEL,SHP,IDIM,NBNO,DJAC) 102 : CALL DISTRR(XEL,SHP,NBNO,RR) 103 : IF (NIFOUR.EQ.0) THEN 104 : DJAC = X2Pi*DJAC*RR 105 : ELSE 106 : DJAC = XPi*DJAC*RR 107 : ENDIF 108 : ENDIF 109 : 110 : RETURN 111 : END 112 : 113 :
© Cast3M 2003 - All rights reserved.
Disclaimer