Télécharger prpfi0.eso

Retour à la liste

Numérotation des lignes :

prpfi0
  1. C PRPFI0 SOURCE FD218221 24/02/07 21:15:23 11834
  2. subroutine prpfi0(coeffk1,coeffk2,coeffwp1,
  3. # coeffwp2,coefffp,coeffwf,coeffw03,lech,mw,
  4. # maxfp,minfp,maxwp1,minwp1,maxwp2,minwp2,maxwf,
  5. # minwf,maxw03,minw03,Lf,mu,Td,Tmax,Ef,Hf,Df,sk,
  6. # F0,alphad,M0,fu,L0,Rtec,maxk02,mink02,maxk01,mink01,fy,
  7. #mwor,nligne,niter,nangl,nlongfi,nrt,nangredu,phit,phicrit)
  8.  
  9. implicit real*8 (a-h,o-z)
  10. implicit integer (i-n)
  11.  
  12. integer t,nlongfi,nangl,nrt,p,d,e,nangredu
  13. parameter (PI=3.141592653589793D0,precision1=1.0d-10)
  14. real*8 phicrit,phit,lech,mw
  15.  
  16.  
  17. c parametres matériaux
  18. real*8 mu,Td,Tmax,Ef,Hf,Df,sk,F0,alphad,M0
  19. real*8 fy,Rt,fu,L0,Lf,Rtec,Rtmax,Rtmin
  20. c variables pour la reduction du modele
  21. real*8 coeffk1(10),coeffk2(10),coeffwp1(10),coeffwp2(10)
  22. real*8 coefffp(10),coeffwf(10),coeffw03(10)
  23. real*8 errmax,errmoy
  24. real*8 maxfp,minfp,maxwp,minwp,maxwf,minwf,maxw03,minw03
  25. real*8 maxwp2,maxwp1,minwp2,minwp1
  26. real*8 maxk02,mink02,maxk01,mink01
  27.  
  28. SEGMENT MWOR
  29. real*8 fel(mligne),ld1(mligne,miter),ld2(mligne,miter)
  30. real*8 sp1(mligne),fcrit1(mligne,miter),fcrit2(mligne,miter)
  31. real*8 L1(mligne,miter),L2(mligne,miter),dls1(mligne,miter)
  32. real*8 dls2(mligne,miter),ls1(mligne,miter),ls2(mligne,miter)
  33. real*8 F(mligne,miter),w1(mligne,miter),w2(mligne,miter)
  34. real*8 Fd1(mligne,miter),sd1(mligne,miter),lsf1(mligne)
  35. real*8 sel1(mligne,miter),sdf1(mligne)
  36. real*8 Fo(mligne,miter),ldf2(mligne),Ffo(mligne)
  37. real*8 lsf2(mligne),Lf2(mligne),sdf2(mligne),Fco(mligne)
  38. real*8 sd2(mligne,miter),sel2(mligne,miter)
  39. real*8 Dwf(mligne),Ff(mligne),Lf1(mligne),ldf1(mligne)
  40. real*8 ffo2(mligne,mangl1,mlongfi)
  41. real*8 Ffo1(mligne,mangl1,mlongfi)
  42. real*8 FmoyL(mligne,mangl1),wf1(mligne,mangl1,mlongfi)
  43. real*8 Fmoylis(mligne),wlist(mligne)
  44. *
  45. real*8 lisRt(mrtang1),lisphid(mrtang1)
  46. real*8 lisfp(mrtang1),lisk0m(mrtang1)
  47. real*8 liswf(mrtang1)
  48. real*8 lisw03(mrtang1)
  49. *
  50. real*8 lisrt1(mangnrt),lisphid1(mangnrt)
  51. real*8 lisrt2(mangnan)
  52. real*8 lisphid2(mangnan)
  53. real*8 liswp1(mangnrt),liswp2(mangnan)
  54. real*8 lisk01(mangnrt),lisk02(mangnan)
  55. ENDSEGMENT
  56. *
  57. c Rtmax=Rtec*(4*lech/Lf)**(1/mw)
  58. Rtmax=Rtec*(4*lech/(Lf*sqrt(3.d0)/2.d0))**(1/mw)
  59. c Rtmin est calculé avec un lc en (m)...
  60. Rtmin=Rtec*(lech/(0.5d0*sqrt(2*pi)))**(1/mw)
  61.  
  62. c m : nombre de paquets de fibres
  63. c t : associé à la discrétisation des Td
  64. c p : numéro de la ligne des listes (Td,phid,point caractéristique des courbes)
  65. c nlongfi : nombre de discrétisations de la longueur des fibres
  66. c nangl +1 : nombre de discrétisation des orientations de fibres
  67. c nligne : sert à dimensionner des tableaux trop grands pour le nombre de lignes de calcul des forces d'une fibre
  68. c nfibre : nombre de paquets de fibres
  69. c nrt : nombre de discrétisations de la contrainte Td
  70. c incremwlis : incrément d'ouverture de fissure pour le calcul des forces moyennes (m)
  71. c Lf : Longueur des fibres (m)
  72. c Df : Diamètre des fibres (m)
  73. c Em : Module d'Young de la matrice (MPa)
  74. c Td0 : Contrainte de frottement pour une pression latérale nulle (MPa)
  75. c precision1 : valeur de la force après wp (MN)
  76. c phid : angle d'inclinaison fibre-traction (°)
  77. c lisTd : Liste des Td pour lesquels les forces moyennes ont été calculées (MPa)
  78. c lisphid : Liste des phid pour lesquels les forces moyennes ont été calculées (MPa)
  79. c lisfp : Liste des forces moyennes au pic correspondant a Td phid (MN)
  80. c liswp : Liste des ouvertures de fissures moyennes au pic correspondant a Td phid (m)
  81. c liswf : Liste des ouvertures de fissures moyennes finales (Fmoy=0) correspondant a Td phid (m)
  82. c lisw03 : Liste des ouvertures de fissures moyennes pour F=0,3*fp correspondant a Td phid (m)
  83. c k0m : Valeur de la rigidité initiale pour un couple (Td,phid) donné (MPa/m)
  84. c wp : Valeur de l'ouverture de fissure au pic pour un couple (Td,phid) donné (m)
  85. c fp : Valeur de la force au pic pour un couple (Td,phid) donné (MN)
  86. c f03 : 0.3*fp (MN)
  87. c w03 Valeur de l'ouverture de fissure pour F=0,3*fp pour un couple (Td,phid) donné (m)
  88. c wf : Valeur de l'ouverture de fissure finale pour un couple (Td,phid) donné (m)
  89. c kx,ky : Coefficients pour le calcul de la surface des rigidités initiales moyennes
  90. c wpx,wpy : Coefficients pour le calcul de la surface des ouvertures au pic moyennes
  91. c fpx,fpy : Coefficients pour le calcul de la surface des forces au pic moyennes
  92. c wpx,wpy : Coefficients pour le calcul de la surface des ouvertures finales moyennes
  93. c w3x,w3y : Coefficients pour le calcul de la surface des ouvertures moyennes à 0.3fp
  94. c wlist : Liste d'ouverture de fissure, sert uniquement à tracer la courbe réduite (m)
  95. c B : Coefficient pour la partie croissante de la force reconstruite
  96. c f1 : Force reconstruite pour Td,phid actuels (MN)
  97. c max,min(k0m,fp,...) valeurs mini et maxi des listes des points cara des courbes
  98. c servant de bornes lors du calcul des points sur leurs surfaces
  99.  
  100.  
  101. c initialisation de p pour la reduction de modele
  102. c print*, "Preparation des forces elementaires"
  103. c print*, "Ancrage des fibres discretise en",nlongfi," positions"
  104. c print*, "Calcul des forces moyennes pour",nangl+1," angles",
  105. c # " allant de 0 degres a",phit,"degres"
  106. c print*, "Calcul des forces moyennes pour",nrt,
  107. c # " resistances a la traction du beton allant de",
  108. c # Rtmin,"a",
  109. c # Rtmax,"MPa"
  110.  
  111.  
  112. p=1
  113. d=1
  114. e=1
  115. do t=1,nrt
  116. Rt=rtmin*(nrt-t)/(nrt-1)+rtmax*(t-1)/(nrt-1)
  117. c
  118. call prpfib(p,Lf,mu,
  119. # Td,Tmax,Ef,Hf,Df,sk,F0,alphad,M0,Rt,fu,
  120. # L0,d,e,fy,mwor,nligne,niter,nangl,nrt,nlongfi,
  121. # nangredu,phit,phicrit)
  122.  
  123.  
  124. end do
  125.  
  126. c print*,"Approximation des points caracteristiques des courbes"
  127.  
  128.  
  129. call amxval(lisfp,lisfp(/1),maxfp)
  130. call amnval(lisfp,lisfp(/1),minfp)
  131. C call amxval(liswp,liswp(/1),maxwp)
  132. C call amnval(liswp,liswp(/1),minwp)
  133.  
  134. call amxval(liswp1,liswp1(/1),maxwp1)
  135. call amnval(liswp1,liswp1(/1),minwp1)
  136.  
  137. call amxval(liswp2,liswp2(/1),maxwp2)
  138. call amnval(liswp2,liswp2(/1),minwp2)
  139.  
  140. call amxval(lisk01,lisk01(/1),maxk01)
  141. call amnval(lisk01,lisk01(/1),mink01)
  142.  
  143. call amxval(lisk02,lisk02(/1),maxk02)
  144. call amnval(lisk02,lisk02(/1),mink02)
  145.  
  146. call amxval(liswf,liswf(/1),maxwf)
  147. call amnval(liswf,liswf(/1),minwf)
  148.  
  149. call amxval(lisw03,lisw03(/1),maxw03)
  150. call amnval(lisw03,lisw03(/1),minw03)
  151.  
  152. c calcul des coefficients des polynomes
  153. call xsrfc(lisrt1,lisphid1,lisk01,(nangredu*nrt),
  154. # coeffk1,errmax,errmoy)
  155.  
  156. c print*,"Erreur maximale d'approximation rigidite initiale 1 : "
  157. c # ,errmax*100,"%"
  158.  
  159. c print*,"Erreur moyenne d'approximation rigidite initiale 1 : "
  160. c # ,errmoy*100,"%"
  161.  
  162. call xsrfc(lisrt2,lisphid2,lisk02,((nangl+1-nangredu)*nrt),
  163. # coeffk2,errmax,errmoy)
  164.  
  165. c print*,"Erreur maximale d'approximation rigidite initiale 2 : "
  166. c # ,errmax*100,"%"
  167.  
  168. c print*,"Erreur moyenne d'approximation rigidite initiale 2 : "
  169. c # ,errmoy*100,"%"
  170.  
  171. call xsrfc(lisrt1,lisphid1,liswp1,(nangredu*nrt),
  172. # coeffwp1,errmax,errmoy)
  173.  
  174. c print*,"Erreur maximale d'approximation ouverture de fissure au",
  175. c # " pic 1: ",errmax*100,"%"
  176.  
  177. c print*,"Erreur moyenne d'approximation ouverture de fissure au",
  178. c # " pic 1: ",errmoy*100,"%"
  179.  
  180.  
  181. call xsrfc(lisrt2,lisphid2,liswp2,((nangl+1-nangredu)*nrt),
  182. # coeffwp2,errmax,errmoy)
  183.  
  184. c print*,"Erreur maximale d'approximation ouverture de fissure au",
  185. c # " pic 2: ",errmax*100,"%"
  186.  
  187. c print*,"Erreur moyenne d'approximation ouverture de fissure au",
  188. c # " pic 2: ",errmoy*100,"%"
  189.  
  190.  
  191. call xsrfc(lisrt,lisphid,lisfp,((nangl+1)*nrt),
  192. # coefffp,errmax,errmoy)
  193.  
  194. c print*,"Erreur maximale d'approximation de force au pic : "
  195. c # ,errmax*100,"%"
  196.  
  197. c print*,"Erreur moyenne d'approximation de force au pic : "
  198. c # ,errmoy*100,"%"
  199.  
  200. call xsrfc(lisrt,lisphid,liswf,((nangl+1)*nrt),
  201. # coeffwf,errmax,errmoy)
  202.  
  203. c print*,"Erreur maximale d'approximation ouverture finale : "
  204. c # ,(errmax)*100,"%"
  205.  
  206. c print*,"Erreur moyenne d'approximation ouverture finale : "
  207. c # ,(errmoy)*100,"%"
  208.  
  209. call xsrfc(lisrt,lisphid,lisw03,((nangl+1)*nrt),
  210. # coeffw03,errmax,errmoy)
  211.  
  212. c print*,"Erreur maximale d'approximation ouverture intermediaire",
  213. c # " post pic : " ,(errmax)*100,"%"
  214.  
  215. c print*,"Erreur moyenne d'approximation ouverture intermediaire"
  216. c # ," post pic : " ,(errmoy)*100,"%"
  217.  
  218.  
  219. end
  220.  
  221.  
  222.  

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