1 : C GPOCRQ SOURCE GOUNAND 06/12/19 21:15:15 5612 2 : SUBROUTINE GPOCRQ(NDIM, 3 : $ MYBPOL, 4 : $ IMPR,IRET) 5 : IMPLICIT REAL*8 (A-H,O-Z) 6 : IMPLICIT INTEGER (I-N) 7 : C*********************************************************************** 8 : C NOM : GPOCRQ 9 : C DESCRIPTION : Génère les polynômes pour les éléments de 10 : C Crouzeix-Raviart P1 non conforme de dimension 11 : C NDIM et l'ajoute à la liste de polynômes. 12 : C 13 : C LANGAGE : ESOPE 14 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) 15 : C mél : gounand@semt2.smts.cea.fr 16 : C*********************************************************************** 17 : C APPELES : ISET 18 : C APPELE PAR : INELQU, INELCU 19 : C*********************************************************************** 20 : C ENTREES : NDIM 21 : C ENTREES/SORTIES : MYBPOL 22 : C SORTIES : - 23 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 24 : C*********************************************************************** 25 : C VERSION : v1, 18/10/2006, version initiale 26 : C HISTORIQUE : v1, 18/10/2006, création 27 : C HISTORIQUE : 28 : C HISTORIQUE : 29 : C*********************************************************************** 30 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 31 : C en cas de modification de ce sous-programme afin de faciliter 32 : C la maintenance ! 33 : C*********************************************************************** 34 : -INC CCOPTIO 35 : CBEGININCLUDE SPOLYNO 36 : SEGMENT POLYNO 37 : REAL*8 COEMON(NBMON) 38 : INTEGER EXPMON(NDIML,NBMON) 39 : ENDSEGMENT 40 : SEGMENT POLYNS 41 : POINTEUR LIPOLY(NBPOLY).POLYNO 42 : ENDSEGMENT 43 : CENDINCLUDE SPOLYNO 44 : INTEGER NBMON,NDIML 45 : POINTEUR MYBPOL.POLYNS 46 : POINTEUR POCRQ.POLYNO 47 : * 48 : INTEGER NDIM 49 : INTEGER IMPR,IRET 50 : * 51 : REAL*8 UN 52 : PARAMETER(UN=1.D0) 53 : INTEGER IMON 54 : * 55 : * Executable statements 56 : * 57 : IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans gpocrq.eso' 58 : * On génère un polynôme du type : 59 : * x_i^2 - x_{i+1}^2 avec i variant de 1 à NDIM-1 60 : SEGACT MYBPOL*MOD 61 : DO IBPOLY=1,NDIM-1 62 : NDIML=NDIM 63 : NBMON=2 64 : SEGINI POCRQ 65 : POCRQ.COEMON(1)=UN 66 : POCRQ.EXPMON(IBPOLY,1)=2 67 : POCRQ.COEMON(2)=-UN 68 : POCRQ.EXPMON(IBPOLY+1,2)=2 69 : SEGDES POCRQ 70 : MYBPOL.LIPOLY(**)=POCRQ 71 : ENDDO 72 : SEGDES MYBPOL 73 : * 74 : * Normal termination 75 : * 76 : IRET=0 77 : RETURN 78 : * 79 : * Format handling 80 : * 81 : * 82 : * Error handling 83 : * 84 : 9999 CONTINUE 85 : IRET=1 86 : WRITE(IOIMP,*) 'An error was detected in subroutine gpocrq' 87 : RETURN 88 : * 89 : * End of subroutine GPOCRQ 90 : * 91 : END 92 : 93 : 94 : 95 :
© Cast3M 2003 - All rights reserved.
Disclaimer