Télécharger trladj.eso

Retour à la liste

Numérotation des lignes :

trladj
  1. C TRLADJ SOURCE GOUNAND 26/01/09 21:16:08 12442
  2. SUBROUTINE TRLADJ(TRAVL,NCDONN,NLDONN,lchang,mmot)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : TRLADJ
  7. C DESCRIPTION : Ajustement (SEGADJ) du nombre de candidats d'un
  8. C segment TRAVL et de ses éventuels sous-objets.
  9. C
  10. C iopt=1 : on calcule un NCMAX automatiquement, éventuellement
  11. C supérieur à la valeur NCDONN donnée et on modifie NCCOU qui
  12. C devient égal à NCDONN
  13. C
  14. C Repris de topadv.eso
  15. C
  16. C LANGAGE : ESOPE
  17. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA)
  18. C mél : gounand@semt2.smts.cea.fr
  19. C***********************************************************************
  20. C APPELES :
  21. C APPELES (E/S) :
  22. C APPELES (BLAS) :
  23. C APPELES (CALCUL) :
  24. C APPELE PAR :
  25. C***********************************************************************
  26. C SYNTAXE GIBIANE :
  27. C ENTREES :
  28. C ENTREES/SORTIES :
  29. C SORTIES :
  30. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  31. C***********************************************************************
  32. C VERSION : v1, 31/10/2017, version initiale
  33. C HISTORIQUE : v1, 31/10/2017, création
  34. C HISTORIQUE :
  35. C HISTORIQUE :
  36. C***********************************************************************
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC TMATOP1
  40. *-INC SMELEMX
  41. POINTEUR LMCANS.MELEMX
  42. -INC SMLENTI
  43. POINTEUR LIDXCA.MLENTI
  44. POINTEUR LOKVOL.MLENTI
  45. POINTEUR LNQUAL.MLENTI
  46. POINTEUR LINDI.MLENTI
  47. POINTEUR LINDJ.MLENTI
  48. -INC SMLREEL
  49. POINTEUR LQUALS.MLREEL
  50. * POINTEUR LMAXQL.MLREEL
  51. -INC TMATOP2
  52. *-INC STRAVL
  53. character*(*) mmot
  54. logical lchang,lchan2
  55. INTEGER IMPR,IRET
  56. *
  57. * Executable statements
  58. *
  59. if (impr.ge.5) WRITE(IOIMP,*) 'Entrée dans trladj.eso'
  60. *
  61. lchang=.false.
  62. NCMAXO=TRAVL.NCMAX
  63. NCCOUO=TRAVL.NCCOU
  64. *
  65. NCCOUN=NCDONN
  66. IF (NCCOUN.LE.NCMAXO) THEN
  67. * write(ioimp,*) 'pas besoin d''appeler trladj ???'
  68. * goto 9999
  69. * TRAVL.NCCOU=NCCOUN
  70. * return
  71. ELSE
  72. * NCMAXN=NCDONN+0
  73. * Stratégie d'augmentation
  74. NCMAX1=NCDONN
  75. * XCOF=1.414D0
  76. XCOF=2.D0
  77. NCMAX2=TRAVL.NCINI+INT(((NCMAXO-TRAVL.NCINI)*XCOF)+0.5D0)
  78. NCMAXN=MAX(NCMAX1,NCMAX2)
  79.  
  80. IF (NCCOUN.LT.NCCOUO.or.NCMAXN.LT.NCCOUO) THEN
  81. write(ioimp,*) 'On ne peut pas redimensionner à une ',
  82. $ 'valeur plus petite que nccou'
  83. goto 9999
  84. endif
  85.  
  86. lchang=.true.
  87. TRAVL.NCMAX=NCMAXN
  88. if (isgadj.gt.0)
  89. $ write(ioimp,486) mmot,NCMAXO,NCMAXN,NCCOUN
  90. *
  91. lidxca=travl.idxca
  92. if (lidxca.ne.0) then
  93. jg=ncmaxn+1
  94. segadj lidxca
  95. endif
  96. *
  97. lokvol=travl.okvol
  98. if (lokvol.ne.0) then
  99. jg=ncmaxn
  100. segadj lokvol
  101. endif
  102. *
  103. lnqual=travl.nqual
  104. if (lnqual.ne.0) then
  105. jg=ncmaxn
  106. segadj lnqual
  107. endif
  108. *
  109. lindi=travl.indi
  110. if (lindi.ne.0) then
  111. jg=ncmaxn
  112. segadj lindi
  113. endif
  114. *
  115. lindj=travl.indj
  116. if (lindj.ne.0) then
  117. jg=ncmaxn
  118. segadj lindj
  119. endif
  120. *
  121. * lmaxql=travl.maxql
  122. * if (lmaxql.ne.0) then
  123. * jg=ncmaxn
  124. * segadj lmaxql
  125. * endif
  126. ENDIF
  127. *
  128. lmcans=travl.mcans
  129. if (lmcans.ne.0) then
  130. call mlxadl(lmcans,nldonn,lchan2,mmot)
  131. if (ierr.ne.0) return
  132. endif
  133. *
  134. lquals=travl.quals
  135. if (lquals.ne.0) then
  136. if (lmcans.eq.0) then
  137. write(ioimp,*) 'lquals existe mais pas lmcans'
  138. goto 9999
  139. endif
  140. CALL QUALI6(0,1,0,IMET,IMOMET,XDENS,0,0,XVTOL,0,NQDC,ISTRID)
  141. jg=lmcans.numx(/2)*ISTRID
  142. segadj lquals
  143. endif
  144. *
  145. TRAVL.NCCOU=NCCOUN
  146. *
  147. * Normal termination
  148. *
  149. RETURN
  150. *
  151. * Format handling
  152. *
  153. 486 FORMAT ('In trladj: ',A25,' nbcand max ajuste de ',I6,' a ',I6,
  154. $ ' (nbcand. courant=',I6,')')
  155. *
  156. * Error handling
  157. *
  158. 9999 CONTINUE
  159. MOTERR(1:8)='TRLADJ '
  160. * 349 2
  161. *Problème non prévu dans le s.p. %m1:8 contactez votre assistance
  162. CALL ERREUR(349)
  163. RETURN
  164. *
  165. * End of subroutine TRLADJ
  166. *
  167. END
  168.  
  169.  

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