Télécharger combt1.eso

Retour à la liste

Numérotation des lignes :

combt1
  1. C COMBT1 SOURCE CB215821 20/11/25 13:21:47 10792
  2. SUBROUTINE COMBT1 (IPCHP1,IPTABL,COMBIN,IPCHP2)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * C O M B T 1
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * EFFECTUER LA COMBINAISON LINEAIRE DE CHPOINTS CONSIGNES DANS UNE
  14. * TABLE, INDICES PAR DES POINTS.
  15. *
  16. * MODE D'APPEL:
  17. * -------------
  18. *
  19. * CALL COMBT1 (IPCHP1,IPTABL,COMBIN,IPCHP2)
  20. *
  21. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  22. * -----------
  23. *
  24. * IPCHP1 ENTIER (E) POINTEUR SUR LE CHPOINT DES COEFFICIENTS DE
  25. * PONDERATION (VOIR LE SOUS-PROGRAMME
  26. * "COMBTA" OU L'OPERATEUR "COMBTABLE" POUR LE
  27. * DETAIL DE SON CONTENU).
  28. * IPTABL ENTIER (E) POINTEUR SUR LA TABLE DES CHPOINTS.
  29. * COMBIN SUBROUT. (E) SOUS-PROGRAMME DE COMBINAISON LINEAIRE DE
  30. * 2 CHPOINTS. 5 ARGUMENTS:
  31. * - CHPOINT N.1 ,
  32. * - REEL D.P. N.1 ,
  33. * - CHPOINT N.2 ,
  34. * - REEL D.P. N.2 ,
  35. * - CHPOINT COMBINAISON LINEAIRE.
  36. * IPCHP2 ENTIER (S) POINTEUR SUR LE CHPOINT COMBINE.
  37. *
  38. * AUTEUR, DATE DE CREATION:
  39. * -------------------------
  40. *
  41. * PASCAL MANIGOT 30 MAI 1985
  42. *
  43. * LANGAGE:
  44. * --------
  45. *
  46. * ESOPE + FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS.
  47. *
  48. ************************************************************************
  49. *
  50.  
  51. -INC PPARAM
  52. -INC CCOPTIO
  53. -INC SMCHPOI
  54. -INC SMELEME
  55. -INC SMTABLE
  56. -INC SMVECTD
  57. *
  58. LOGICAL FIRST,LBID
  59. CHARACTER*1 CBID
  60. EXTERNAL COMBIN
  61. *
  62. *
  63.  
  64. FIRST = .TRUE.
  65. MCHPOI = IPCHP1
  66. SEGACT,MCHPOI
  67. *
  68. NSOUPO = IPCHP(/1)
  69. DO 100 IB100=1,NSOUPO
  70. *
  71. MSOUPO = IPCHP(IB100)
  72. SEGACT,MSOUPO
  73. NC = NOCOMP(/2)
  74. IF (NC .NE. 1) THEN
  75. * LE CHPOINT DES COEFFICIENTS DE PONDERATION A PLUSIEURS
  76. * COMPOSANTES: ON NE SAIT PAS QUOI EN FAIRE.
  77. NUMERR = 180
  78. CALL ERREUR (NUMERR)
  79. RETURN
  80. END IF
  81. *
  82. MELEME = IGEOC
  83. SEGACT,MELEME
  84. NBNN = NUM(/1)
  85. IF (NBNN .NE. 1) THEN
  86. * ON NE COMPREND PAS QUE L'OBJET "MAILLAGE" NE CONTIENNE PAS
  87. * DES ELEMENTS A 1 SEUL NOEUD.
  88. MOTERR(1:8) = '"COMBT1"'
  89. NUMERR = 224
  90. CALL ERREUR (NUMERR)
  91. RETURN
  92. END IF
  93. *
  94. MPOVAL = IPOVAL
  95. SEGACT,MPOVAL
  96. NBPOIN = VPOCHA(/1)
  97. NBELEM = NUM(/2)
  98. IF (NBPOIN .NE. NBELEM) THEN
  99. * TYPE DE RELATION ENTRE LE 'CHPOINT' ET SON SUPPORT INCOMPRIS
  100. MOTERR(1:8) = '"COMBT1"'
  101. NUMERR = 224
  102. CALL ERREUR (NUMERR)
  103. RETURN
  104. END IF
  105. *
  106. mtable=iptabl
  107. segact mtable,mtab1
  108. DO 110 IB110=1,NBPOIN
  109. INDICE = NUM(1,IB110)
  110. do iou=1,mlotab
  111. if(mtabii(iou).eq.indice) go to 32
  112. enddo
  113. call erreur(5)
  114. 32 continue
  115. ipchp3=mtabiv(iou)
  116. mvect1= mtab1.mtabiv(iou)
  117. INDICE = NUM(1,IB110)
  118. write(6,*) ib110 ,'ieme point numero ' , indice
  119. * CALL ACCTAB (IPTABL,'POINT',IBID,XBID,CBID,LBID,INDICE
  120. * & ,'CHPOINT',IBID,XBID,CBID,LBID,IPCHP3)
  121. * IF (IERR .NE. 0) RETURN
  122. * segact mvect1
  123. COEFF3 = VPOCHA(IB110,1)
  124. IF (FIRST) THEN
  125. inc=mvect1.vectbb(/1)
  126. segini,mvect3
  127. do iau=1,mvect1.vectbb(/1)
  128. mvect3.vectbb(iau)=mvect1.vectbb(iau)*coeff3
  129. enddo
  130. FIRST = .FALSE.
  131. * MULTPL = 1
  132. * CALL MUCHPO (IPCHP3,COEFF3, IPCHP2,MULTPL)
  133. * IF (IERR .NE. 0) RETURN
  134. ELSE
  135. do iau=1,inc
  136. mvect3.vectbb(iau)=mvect3.vectbb(iau)+
  137. $ coeff3*mvect1.vectbb(iau)
  138. enddo
  139.  
  140. * COEFF2 = 1.D0
  141. * CALL COMBIN (IPCHP2,COEFF2,IPCHP3,COEFF3, IPCHP9)
  142. * IF (IERR .NE. 0) RETURN
  143. * CALL DTCHPO (IPCHP2)
  144. * IPCHP2 = IPCHP9
  145. END IF
  146. *
  147. 110 CONTINUE
  148. *** call crech2(ipchp2,mvect3,mvecri,1)
  149. *** segsup mvect3
  150. segdes mtable,mtab1
  151. * END DO
  152. *
  153. SEGDES,MELEME
  154. SEGDES,MPOVAL
  155. SEGDES,MSOUPO
  156. *
  157. 100 CONTINUE
  158. * END DO
  159. *
  160. SEGDES,MCHPOI
  161. *
  162. END
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales