1 : C COGA1 SOURCE GOUNAND 05/12/21 21:17:12 5281 2 : SUBROUTINE COGA1(NDLIG,NDCOL,NDNOEU,NDPOGO,NDELEM, 3 : $ JCOEF,FNPG, 4 : $ JCOEFG, 5 : $ IMPR,IRET) 6 : IMPLICIT REAL*8 (A-H,O-Z) 7 : IMPLICIT INTEGER (I-N) 8 : C*********************************************************************** 9 : C NOM : COGA1 10 : C PROJET : Noyau linéaire NLIN 11 : C DESCRIPTION : Calcul du coefficient aux points de Gauss d'un élément 12 : C de référence pour chaque élément réel. 13 : C Le coefficient peut être scalaire, vectoriel ou 14 : C tensoriel. Les fonctions d'interpolation seront les 15 : C mêmes pour chaque composante du vecteur ou chaque 16 : C coefficient des matrices. 17 : C Les valeurs nodales devront être exprimées par rapport 18 : C aux coordonnées de l'espace de référence (par exemple, 19 : C s'il y a des dérivées, elles devront être exprimées par 20 : C rapport à ksi, eta...) 21 : C Si les valeurs sont des variables généralisées, il n'y 22 : C a peut-être rien à faire. (?) 23 : C 24 : C Ceci ressemble à un produit tensoriel (cf. geoli1) 25 : C 26 : C LANGAGE : Fortran 77 (sauf E/S) 27 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) 28 : C mél : gounand@semt2.smts.cea.fr 29 : C*********************************************************************** 30 : C APPELES : - 31 : C APPELE PAR : COGAU 32 : C*********************************************************************** 33 : C ENTREES : * NDLIG (type entier) : nb. de lignes du 34 : C coefficient tensoriel. 35 : C * NDCOL (type entier) : nb. de colonnes du 36 : C coefficient tensoriel. 37 : C * NDNOEU (type entier) : nombre de ddl (par 38 : C élément) de la transformation géométrique. 39 : C * NDPOGO (type entier) : nombre de points 40 : C d'intégration. 41 : C * NDELEM (type entier) : nombre d'éléments du 42 : C maillage élémentaire courant. 43 : C * JCOEF (type réel) : valeurs des ddl du 44 : C coefficient tensoriel sur le maillage 45 : C élémentaire courant. 46 : C * FNPG (type réel) : valeurs des fonctions 47 : C d'interpolation pour le coefficient aux points 48 : C de gauss sur l'élément de référence. 49 : C ENTREES/SORTIES : * JCOEFG (type réel) : valeurs du coefficient 50 : C tensoriel aux points de Gauss sur le maillage 51 : C élémentaire. 52 : C SORTIES : - 53 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 54 : C*********************************************************************** 55 : C VERSION : v1, 17/08/99, version initiale 56 : C HISTORIQUE : v1, 17/08/99, création 57 : C HISTORIQUE : 58 : C HISTORIQUE : 59 : C*********************************************************************** 60 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 61 : C en cas de modification de ce sous-programme afin de faciliter 62 : C la maintenance ! 63 : C*********************************************************************** 64 : -INC CCOPTIO 65 : INTEGER NDLIG,NDCOL,NDNOEU,NDPOGO,NDELEM 66 : REAL*8 JCOEF (NDNOEU,NDLIG,NDCOL,NDELEM) 67 : REAL*8 FNPG (NDNOEU,NDPOGO) 68 : REAL*8 JCOEFG(NDLIG,NDCOL,NDPOGO,NDELEM) 69 : * 70 : INTEGER IMPR,IRET 71 : INTEGER IELEM,IPOGO,INOEUD,ICOL,ILIG 72 : * 73 : * Executable statements 74 : * 75 : IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans coga1' 76 : DO 1 IELEM=1,NDELEM 77 : DO 12 IPOGO=1,NDPOGO 78 : DO 122 ICOL=1,NDCOL 79 : DO 1222 ILIG=1,NDLIG 80 : DO 12222 INOEUD=1,NDNOEU 81 : JCOEFG(ILIG,ICOL,IPOGO,IELEM)= 82 : $ JCOEFG(ILIG,ICOL,IPOGO,IELEM) 83 : $ + (JCOEF(INOEUD,ILIG,ICOL,IELEM) 84 : $ *FNPG(INOEUD,IPOGO)) 85 : 12222 CONTINUE 86 : 1222 CONTINUE 87 : 122 CONTINUE 88 : 12 CONTINUE 89 : 1 CONTINUE 90 : 91 : * 92 : * Normal termination 93 : * 94 : IRET=0 95 : RETURN 96 : * 97 : * Format handling 98 : * 99 : * 100 : * Error handling 101 : * 102 : 9999 CONTINUE 103 : IRET=1 104 : WRITE(IOIMP,*) 'An error was detected in subroutine coga1' 105 : RETURN 106 : * 107 : * End of subroutine COGA1 108 : * 109 : END 110 : 111 :
© Cast3M 2003 - All rights reserved.
Disclaimer