* TOPODYDX PROCEDUR FD218221 25/12/18 21:15:06 12429 ************************************************************************ ** Procedure called by TOPOPTIM for multiplying any volume-normalized ** sensitivities defined on the design zone (D) by the derivative of ** the physical densities (Y) with respect to the design variables (X). ** ** Author: ** Guenhael Le Quilliec (LaMe - Polytech Tours) ** ** Version: ** 1.0 2025/11/24 Initial version ************************************************************************ DEBP TOPODYDX tab*'TABLE' NdFdYD/'MCHAML' ; * Input data * ********** Wtab = tab.'WTABLE' ; Ltab = Wtab.'LOGIQUE' ; * Update dY/dS * ************ * Only if needed, update the derivative of the physical densities (Y) * with respect to the intermediate densities (S) SI Ltab.'PROJECTION' ; bta = Wtab.'PROJECTION_RAIDEUR' ; * If X has ever been filtered (then it exists) and bta is effective SD = Wtab.'S_D' ; eta = Wtab.'PROJECTION_SEUIL' ; Wtab.'DY_DS_D' = TOPOFONC tab.'PROJECTION' 'DERIVEE' SD bta eta ; FINS ; SINO ; Wtab.'DY_DS_D' = 1 ; FINS ; FINS ; * Multiply the input field by dY/dX = dY/dS * dS/dX * ************************************************* * If projection is active SI Ltab.'PROJECTION' ; SI (NEG Wtab.'DY_DS_D' 1) ; * Multiply by dY/dS NdFdS = NdFdYD * Wtab.'DY_DS_D' ; SINO ; NdFdS = NdFdYD ; FINS ; SINO ; * dY/dS = 1 if no projection NdFdS = NdFdYD ; FINS ; * If density filtering is active SI Ltab.'FILTRE_DENSITE' ; * Multiply by dS/dX * This is obtained by applying the "modified filtering matrix" * (modified set to VRAI) SINO ; NdFdXD = NdFdS ; FINS ; FINP NdFdXD ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales