Télécharger topodydx.procedur

Retour à la liste

Numérotation des lignes :

  1. * TOPODYDX PROCEDUR FD218221 25/12/18 21:15:06 12429
  2.  
  3. ************************************************************************
  4. ** Procedure called by TOPOPTIM for multiplying any volume-normalized
  5. ** sensitivities defined on the design zone (D) by the derivative of
  6. ** the physical densities (Y) with respect to the design variables (X).
  7. **
  8. ** Author:
  9. ** Guenhael Le Quilliec (LaMe - Polytech Tours)
  10. **
  11. ** Version:
  12. ** 1.0 2025/11/24 Initial version
  13. ************************************************************************
  14.  
  15. DEBP TOPODYDX tab*'TABLE' NdFdYD/'MCHAML' ;
  16.  
  17. * Input data
  18. * **********
  19.  
  20. Wtab = tab.'WTABLE' ;
  21. Ltab = Wtab.'LOGIQUE' ;
  22.  
  23. * Update dY/dS
  24. * ************
  25.  
  26. * Only if needed, update the derivative of the physical densities (Y)
  27. * with respect to the intermediate densities (S)
  28. SI Ltab.'PROJECTION' ;
  29. bta = Wtab.'PROJECTION_RAIDEUR' ;
  30. * If X has ever been filtered (then it exists) and bta is effective
  31. SI ((EXIS Wtab 'S_D') ET (bta > 0)) ;
  32. SD = Wtab.'S_D' ;
  33. eta = Wtab.'PROJECTION_SEUIL' ;
  34. SI (TOPOMODI tab (CHAI 'DY_DS_D') tab.'PROJECTION' SD bta eta) ;
  35. Wtab.'DY_DS_D' = TOPOFONC tab.'PROJECTION' 'DERIVEE'
  36. SD bta eta ;
  37. FINS ;
  38. SINO ;
  39. Wtab.'DY_DS_D' = 1 ;
  40. FINS ;
  41. FINS ;
  42.  
  43. * Multiply the input field by dY/dX = dY/dS * dS/dX
  44. * *************************************************
  45.  
  46. * If projection is active
  47. SI Ltab.'PROJECTION' ;
  48. SI (NEG Wtab.'DY_DS_D' 1) ;
  49. * Multiply by dY/dS
  50. NdFdS = NdFdYD * Wtab.'DY_DS_D' ;
  51. SINO ;
  52. NdFdS = NdFdYD ;
  53. FINS ;
  54. SINO ;
  55. * dY/dS = 1 if no projection
  56. NdFdS = NdFdYD ;
  57. FINS ;
  58.  
  59. * If density filtering is active
  60. SI Ltab.'FILTRE_DENSITE' ;
  61. * Multiply by dS/dX
  62. * This is obtained by applying the "modified filtering matrix"
  63. * (modified set to VRAI)
  64. NdFdXD = TOPOFILT tab NdFdS VRAI ;
  65. SINO ;
  66. NdFdXD = NdFdS ;
  67. FINS ;
  68.  
  69. FINP NdFdXD ;
  70.  
  71.  
  72.  

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