Télécharger coml14.eso

Retour à la liste

Numérotation des lignes :

coml14
  1. C COML14 SOURCE CB215821 20/11/25 13:21:59 10792
  2. SUBROUTINE COML14(iqmod,wrk52,wrk53,ib,igau,iretou)
  3.  
  4. IMPLICIT REAL*8(a-h,o-z)
  5. IMPLICIT INTEGER(I-N)
  6.  
  7. real*8 sst(3)
  8.  
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12. -INC CCREEL
  13. * segment deroulant le mcheml
  14. -INC DECHE
  15. -INC SMCHPOI
  16. -INC SMELEME
  17. -INC SMLENTI
  18. -INC SMLREEL
  19. -INC SMMODEL
  20.  
  21. imodel = iqmod
  22.  
  23. IF (cmate.eq.'AFFINE') then
  24. *à entrer par xmatf (CD composante facultative en fin de tableau)
  25. xkd = xmatf(1)
  26. xcoef1 = xmatf(2)
  27. xcoef2 = xmatf(3)
  28. do jj = 1,gradf(/1)
  29. * sigf(jj) = gradf(jj) * xkd/xcoef1 * (-1.)
  30. if (gradf(jj).ne.0.d0) then
  31. uu = ABS(gradf(jj))/gradf(jj)
  32. sst(jj) = (ABS(gradf(jj))**xcoef2)*uu*xkd/xcoef1*(-1.)
  33. * if (sigf(jj).ne.sst(jj)) write(6,*) ib,igau,jj,sigf(jj),sst(jj)
  34. sigf(jj) = sst(jj)
  35. else
  36. sigf(jj) = 0.d0
  37. endif
  38. enddo
  39. if (ib.eq.1.and.igau.eq.1) then
  40. * write(6,*) 'temps', temp0 ,xmatf(/1),xmatf(1)
  41. * write(6,*) 'contrainte ' , valmat(2),valmat(3),valmat(4)
  42. endif
  43. ENDIF
  44.  
  45. IF (cmate.eq.'VISQUEUS') THEN
  46. xkd = xmatf(1)
  47. xcoef1 = xmatf(2)
  48. xcoef2 = xmatf(3)
  49. delt = tempf - temp0
  50. ycoef = (xcoef2/delt) + xcoef1
  51.  
  52. do jj = 1,gradf(/1)
  53. vic1 = var0(jj)
  54. uu = gradf(jj)
  55. delvic1 = xcoef1*(uu -vic1)/ycoef
  56. varf(jj) = vic1 + delvic1
  57. sigf(jj)= delvic1 * xcoef2/delt
  58. enddo
  59.  
  60. if (ib.eq.1.and.igau.eq.1) then
  61. * write(6,*) xcoef1, xcoef2, ycoef
  62. * write(6,*) 'contrainte ' , (sigf(jj),jj=1,sigf(/1))
  63. endif
  64.  
  65. ENDIF
  66. RETURN
  67. END
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  

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