Télécharger dycpl1.eso

Retour à la liste

Numérotation des lignes :

dycpl1
  1. C DYCPL1 SOURCE BP208322 18/01/10 21:15:26 9684
  2.  
  3. SUBROUTINE DYCPL1(IP1,IP2,XDEP,NPAS,PDT,XCONV)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. *--------------------------------------------------------------------*
  7. * *
  8. * Operateur DYNE : *
  9. * ________________ *
  10. * *
  11. * Calcul de la force fluidelastique par convolution. *
  12. * *
  13. * Parametres: *
  14. * *
  15. * e IP1 LISTREEL h(\tau) *
  16. * e IP2 LISTREEL q(t-\tau) *
  17. * e XDEP FLOTTTANT q(t) *
  18. * e PDT FLOTTTANT = \Delta t *
  19. * s XCONV FLOTTTANT int_0^T h(\tau)*Qj(t-\tau) d\tau *
  20. * *
  21. * Auteurs : *
  22. * BP, 2017-06-21 *
  23. * *
  24. *--------------------------------------------------------------------*
  25.  
  26. -INC SMLREEL
  27.  
  28. * RECUPERATION
  29. * des listreels deja actif en entree (ip2 est modifiable)
  30. MLREE1=IP1
  31. MLREE2=IP2
  32. JG=MLREE2.PROG(/1)
  33.  
  34. * PERMUTATION CIRCULAIRE de q(t-tau)
  35. DO 1 I=JG,2,-1
  36. MLREE2.PROG(I)=MLREE2.PROG(I-1)
  37. 1 CONTINUE
  38.  
  39. * VALEUR COURANTE q(t)
  40. * Rem : pour DEVOGELAERE, t=|t_{n+1/2} si IND=2
  41. * |t_{n+1} si IND=1
  42. * pour DIFFERENCE_CENTREE, t=t_{n+1}
  43. MLREE2.PROG(1)=XDEP
  44.  
  45. * CALCUL DU PRODUIT DE CONVOLUTION
  46. * 1ere valeur (la + importante, souvent plus de 75% de l'integrale)
  47. H1=MLREE1.PROG(1)
  48. XCONV=H1*XDEP/2.D0
  49. * termes intermediaires
  50. c DO 2 I=2,JG-1
  51. c c XPROD=MLREE1.PROG(I)*MLREE2.PROG(I)
  52. c c XCONV=XCONV+XPROD
  53. c XCONV=XCONV+MLREE1.PROG(I)*MLREE2.PROG(I)
  54. c 2 CONTINUE
  55. c --> legere optimisation
  56. XCONV=XCONV+DDOTPV(JG-2,MLREE1.PROG(2),MLREE2.PROG(2))
  57. * dernier terme
  58. XPROD=MLREE1.PROG(JG)*MLREE2.PROG(JG)/2.D0
  59. XCONV=XCONV+XPROD
  60. c fois le pas de temps
  61.  
  62. RETURN
  63. END
  64.  
  65.  
  66.  

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