Télécharger topocmpl.procedur

Retour à la liste

Numérotation des lignes :

  1. * TOPOCMPL PROCEDUR FD218221 25/12/18 21:15:04 12429
  2.  
  3. ************************************************************************
  4. ** Procedure called by TOPOOBJE for calculating:
  5. **
  6. ** 1 - The total mechanical or thermal compliance
  7. ** (or, more precisely, "2 * the total elastic strain energy" in
  8. ** mechanics, or the "total thermal compliance" in thermal problems)
  9. **
  10. ** 2 - Its volume-normalized sensitivity (w.r.t. X)
  11. ** Defined as ∂cpl/∂X / vol1_e = dZ/dX * q1_e / vol1_e
  12. ** ∂cpl/∂X does not include the implicit contribution of the
  13. ** displacement field U(X). In other words, ∂cpl/∂X is therefore
  14. ** not the full total sensitivity with respect to the design
  15. ** variables X.
  16. **
  17. ** Author:
  18. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  19. **
  20. ** Version:
  21. ** 1.0 2025/11/28 This step was previously defined multiple times in
  22. ** TOPOSENS and is now renamed TOPOOBJE
  23. ************************************************************************
  24.  
  25. DEBP TOPOCMPL mod*'MMODEL' Zmat*'MCHAML' dZdY_Z*'MCHAML'
  26. sig/'MCHAML' eps/'MCHAML' TA/'CHPOINT' ;
  27.  
  28. SI (EXIS sig) ;
  29.  
  30. * Mechanical compliance
  31. * *********************
  32.  
  33. * For each element, compliance is defined as
  34. * "2 * the elastic strain energy density * volume of the element"
  35. * = Cijkl.[1/2(diUj + djUi)].[1/2(dkUl + dlUk)].vol1_e
  36. * = Cijkl.EPSij.EPSkl.vol1_e = EPSij.SIGij.vol1_e = (ENER output).vol1_e
  37. enedst = ENER mod sig eps ;
  38.  
  39. * Element field of the elastic strain energy at the centroid
  40. ene = INTG 'ELEM' enedst mod Zmat ;
  41.  
  42. * Sensitivity field with respect to Y
  43. * It corresponds to the elastic strain energy divided by the penalized
  44. * physical density (Z), then multiplied by dZ/dY
  45. dcpldY = ene * dZdY_Z ;
  46.  
  47. * Total compliance (2 * total elastic strain energy)
  48. * cpl = INTG enedst mod Zmat ;
  49. cpl = SOMM (EXTR ene 'VALE' 'SCAL') ;
  50.  
  51. SINO ;
  52.  
  53. * Thermal compliance
  54. * ******************
  55.  
  56. * For each element, "thermal compliance" is defined as
  57. * = K.grad(T).grad(T).vol1_e = K.(grad(T))^2.vol1_e
  58. grdTA = GRAD mod TA ;
  59. lstcpn = EXTR grdTA 'COMP' ;
  60. grd2TA = CHAN 'TYPE' (PSCA grdTA grdTA lstcpn lstcpn) 'SCALAIRE' ;
  61.  
  62. * Conductivity field: K
  63. enedst = grd2TA * (EXCO 'K' Zmat 'SCAL') ;
  64.  
  65. * Element field of the thermal compliance at the centroid
  66. ene = INTG 'ELEM' enedst mod Zmat ;
  67.  
  68. * In thermal mode, INTG 'ELEM' is not evaluated at 'GRAVITE' even if
  69. * the input fields were defined at 'GRAVITE'
  70. * This issue is resolved by using CHAN 'GRAVITE'
  71. ene = CHAN 'GRAVITE' ene mod ;
  72.  
  73. * Sensitivity field with respect to Y
  74. * It corresponds to the thermal compliance divided by the penalized
  75. * physical density (Z), then multiplied by dZ/dY
  76. dcpldY = ene * dZdY_Z ;
  77.  
  78. * Total thermal compliance
  79. * cpl = INTG enedst mod Zmat ;
  80. cpl = SOMM (EXTR ene 'VALE' 'SCAL') ;
  81.  
  82. FINS ;
  83.  
  84. FINP cpl dcpldY ;
  85.  
  86.  
  87.  

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