Download propg.eso

Back to the list

   1 : C PROPG     SOURCE    GOUNAND   05/12/21    21:35:59     5281           
   2 :       SUBROUTINE PROPG(PGPRO1,PGPRO2,
   3 :      $     PGCOUR,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : PROPG
   9 : C PROJET      : Noyau linéaire NLIN
  10 : C DESCRIPTION : Construit les coordonnées et poids pour des règles
  11 : C               d'intégration "produit".
  12 : C               
  13 : C
  14 : C LANGAGE     : ESOPE
  15 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  16 : C               mél : gounand@semt2.smts.cea.fr
  17 : C***********************************************************************
  18 : C APPELES          : -
  19 : C APPELE PAR       : INGAPR
  20 : C***********************************************************************
  21 : C ENTREES            : PGPRO1, PGPRO2
  22 : C ENTREES/SORTIES    : PGCOUR (supposé actif en *MOD)
  23 : C SORTIES            : -
  24 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  25 : C***********************************************************************
  26 : C VERSION    : v1, 12/05/2000, version initiale
  27 : C HISTORIQUE : v1, 12/05/2000, création
  28 : C HISTORIQUE :
  29 : C HISTORIQUE :
  30 : C***********************************************************************
  31 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  32 : C en cas de modification de ce sous-programme afin de faciliter
  33 : C la maintenance !
  34 : C***********************************************************************
  35 : -INC CCOPTIO
  36 : CBEGININCLUDE SPOGAU
  37 :       SEGMENT POGAU
  38 :       CHARACTER*(LNNPG)  NOMPG
  39 :       CHARACTER*(LNTPG)  TYPMPG
  40 :       CHARACTER*(LNFPG)  FORLPG
  41 :       INTEGER NORDPG
  42 :       REAL*8 XCOPG(NDLPG,NBPG)
  43 :       REAL*8 XPOPG(NBPG)
  44 :       ENDSEGMENT
  45 :       SEGMENT POGAUS
  46 :       POINTEUR LISPG(0).POGAU
  47 :       ENDSEGMENT
  48 : CENDINCLUDE SPOGAU
  49 :       POINTEUR PGCOUR.POGAU
  50 :       POINTEUR PGPRO1.POGAU
  51 :       POINTEUR PGPRO2.POGAU
  52 : *
  53 :       INTEGER IMPR,IRET
  54 : *
  55 :       INTEGER NBPG1,NBPG2,NBPGC
  56 :       INTEGER IBPG1,IBPG2,IBPGC
  57 :       INTEGER NDIML1,NDIML2,NDIMLC
  58 :       INTEGER IDIML1,IDIML2,IDIMLC
  59 : *     
  60 : * Executable statements
  61 : *
  62 :       IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans propg.eso' 
  63 :       SEGACT PGPRO1
  64 :       SEGACT PGPRO2
  65 :       NDIML1=PGPRO1.XCOPG(/1)
  66 :       NBPG1 =PGPRO1.XCOPG(/2)
  67 :       NDIML2=PGPRO2.XCOPG(/1)
  68 :       NBPG2 =PGPRO2.XCOPG(/2)
  69 :       NDIMLC=PGCOUR.XCOPG(/1)
  70 :       NBPGC =PGCOUR.XCOPG(/2)
  71 :       IF ((NDIML1+NDIML2).NE.NDIMLC) THEN
  72 :          WRITE(IOIMP,*) 'Err. dim. esp.'
  73 :          GOTO 9999
  74 :       ENDIF
  75 :       IF ((NBPG1*NBPG2).NE.NBPGC) THEN
  76 :          WRITE(IOIMP,*) 'Err. nb. noeud.'
  77 :          GOTO 9999
  78 :       ENDIF
  79 :       IBPGC=0
  80 :       DO 1 IBPG2=1,NBPG2
  81 :          DO 12 IBPG1=1,NBPG1
  82 :             IBPGC=IBPGC+1
  83 :             IDIMLC=0
  84 :             DO 122 IDIML1=1,NDIML1
  85 :                IDIMLC=IDIMLC+1
  86 :                PGCOUR.XCOPG(IDIMLC,IBPGC)=
  87 :      $              PGPRO1.XCOPG(IDIML1,IBPG1)
  88 :  122        CONTINUE
  89 :             DO 124 IDIML2=1,NDIML2
  90 :                IDIMLC=IDIMLC+1
  91 :                PGCOUR.XCOPG(IDIMLC,IBPGC)=
  92 :      $              PGPRO2.XCOPG(IDIML2,IBPG2)
  93 :  124        CONTINUE
  94 :             PGCOUR.XPOPG(IBPGC)=PGPRO1.XPOPG(IBPG1)
  95 :      $           *PGPRO2.XPOPG(IBPG2)
  96 :  12      CONTINUE
  97 :  1    CONTINUE
  98 :       SEGDES PGPRO2
  99 :       SEGDES PGPRO1
 100 : *     
 101 : * Normal termination
 102 : *
 103 :       IRET=0
 104 :       RETURN
 105 : *
 106 : * Format handling
 107 : *
 108 : *
 109 : * Error handling
 110 : *
 111 :  9999 CONTINUE
 112 :       IRET=1
 113 :       WRITE(IOIMP,*) 'An error was detected in subroutine propg'
 114 :       RETURN
 115 : *
 116 : * End of subroutine PROPG
 117 : *
 118 :       END
 119 : 
 120 :  
 121 :  

© Cast3M 2003 - All rights reserved.
Disclaimer