Télécharger aleat1.eso

Retour à la liste

Numérotation des lignes :

aleat1
  1. C ALEAT1 SOURCE MB234859 26/08/26 21:15:05 12626
  2. * CREATION D'UN 'CHPOINT' A VALEURS QUELCONQUES.
  3. SUBROUTINE ALEAT1 (IPRIGI,IPCHPO)
  4. ************************************************************************
  5. *
  6. * A L E A T 1
  7. * -----------
  8. *
  9. * FONCTION:
  10. * ---------
  11. *
  12. * CREER UN 'CHPOINT' A VALEURS QUELCONQUES A PARTIR DE LA DONNEE
  13. * D'UNE 'RIGIDITE'.
  14. *
  15. * MODE D'APPEL:
  16. * -------------
  17. *
  18. * CALL ALEAT1 (IPRIGI,IPCHPO)
  19. *
  20. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  21. * -----------
  22. *
  23. * IPRIGI ENTIER (E) POINTEUR D'UNE 'RIGIDITE'.
  24. * IPCHPO ENTIER (S) POINTEUR DU 'CHPOINT' DETERMINE.
  25. *
  26. * LEXIQUE: (ORDRE ALPHABETIQUE)
  27. * --------
  28. *
  29. * INC ENTIER NOMBRE D'INCONNUES DU PROBLEME.
  30. * IPMATR ENTIER POINTEUR SUR L'OBJET 'MATRICE' ASSOCIE A LA
  31. * 'RIGIDITE' DE POINTEUR "IPRIGI".
  32. * IPVECT ENTIER POINTEUR D'UN OBJET DE TRAVAIL 'VECTDOUB'.
  33. *
  34. * SOUS-PROGRAMMES APPELES:
  35. * ------------------------
  36. *
  37. * TRIANG, TDRAND, VCH1.
  38. *
  39. * AUTEUR, DATE DE CREATION:
  40. * -------------------------
  41. *
  42. * PASCAL MANIGOT 5 OCTOBRE 1984
  43. *
  44. * LANGAGE:
  45. * --------
  46. *
  47. * ESOPE + FORTRAN77
  48. *
  49. ************************************************************************
  50. *
  51. IMPLICIT INTEGER(I-N)
  52. IMPLICIT REAL*8(A-H,O-Z)
  53.  
  54. -INC PPARAM
  55. -INC CCOPTIO
  56. -INC SMMATRI
  57. -INC SMRIGID
  58. -INC SMVECTD
  59. -INC CCREEL
  60. *
  61. * PARAMETER (LFIRST = 9)
  62. *
  63. * SAVE JFIRST
  64. *
  65. * DATA JFIRST/1/
  66. REAL*8 V
  67. integer insym
  68. insym = 0
  69. xspetl = xspeti
  70. *
  71. * -- DETERMINATION DU NOMBRE D'INCONNUES DU PROBLEME TRAITE --
  72. *
  73. MRIGID = IPRIGI
  74. SEGACT,MRIGID
  75. NRG = IRIGEL(/1)
  76. NBR = IRIGEL(/2)
  77. IPMATR = ICHOLE
  78. IF(NORINC.GT.0 .AND. NORIND.GT.0) THEN
  79. INSYM = 1
  80. ENDIF
  81. IF (NRG.GE.7) THEN
  82. DO 9 IN = 1,NBR
  83. IANTI=IRIGEL(7,IN)
  84. IF(IANTI.GT.0) THEN
  85. INSYM = 1
  86. ENDIF
  87. 9 CONTINUE
  88. ENDIF
  89. SEGDES,MRIGID
  90. *
  91. IF (IPMATR .EQ. 0) THEN
  92. CALL TRIANG(IPRIGI,xspetl,0,0,INSYM)
  93. IF (IERR .NE. 0) RETURN
  94. MRIGID = IPRIGI
  95. SEGACT,MRIGID
  96. IPMATR = ICHOLE
  97. SEGDES,MRIGID
  98. ENDIF
  99. *
  100. MMATRI = IPMATR
  101. SEGACT,MMATRI
  102. MILIGN=IILIGN
  103. SEGDES,MMATRI
  104. SEGACT,MILIGN
  105. INC=IPNO(/1)
  106. SEGDES,MILIGN
  107. *
  108. * -- DETERMINATION D'UN VECTEUR QUELCONQUE, DE DIMENSION EGALE A
  109. * CELLE DU PROBLEME TRAITE --
  110. *
  111. SEGINI,MVECTD
  112. IPVECT = MVECTD
  113. DO 100 IB=1,INC
  114. CALL TDRAND(V)
  115. VECTBB(IB) = V
  116. 100 CONTINUE
  117. * write(6,*) ' vectbb sortie de trandd'
  118. * write(6,*) (vectbb (ib),ib=1,inc)
  119.  
  120. * END DO
  121. SEGDES,MVECTD
  122. *
  123. * IF (JFIRST .EQ. LFIRST) THEN
  124. * JFIRST = 1
  125. * ELSE
  126. * JFIRST = JFIRST + 1
  127. * END IF
  128. *
  129. * -- TRANSFORMATION DU VECTEUR EN CHPOINT ALEATOIRE --
  130. *
  131. CALL VCH1 (IPMATR,IPVECT, IPCHPO,IPRIGI)
  132. IF (IERR .NE. 0) RETURN
  133. *
  134. MVECTD = IPVECT
  135. SEGSUP,MVECTD
  136. *
  137. END
  138.  
  139.  

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