* TOPOCRIT PROCEDUR FD218221 21/04/14 21:15:08 10965 ************************************************************************ ** Procedure called by TOPOPTIM for updating the topology using the ** Optimality Criterion method ** ** Author: ** Guenhael Le Quilliec (LaMe - Polytech Tours) ** ** Version: ** 2.2 2021/03/19 Modification of default value of 'OC_L2' ** 2.1 2018/01/29 Fixing an issue with quadratic elements ** 2.0 2017/11/11 ************************************************************************ * Input data un1 = tab0.'WTABLE'.'UN'.(1) ; d0 = tab0.'WTABLE'.'FACTEUR_D' ; move0 = un1 * tab0.'TOPOLOGIE_MAX_INC' ; void0 = tab0.'TOPOLOGIE_MIN' ; xOld0 = tab0.'WTABLE'.'TOPOLOGIE' ; xOldP0 = xOld0 + move0 ; xOldM0 = xOld0 - move0 ; dc0 = tab0.'WTABLE'.'SENSIBILITE' ; q0 = tab0.'WTABLE'.'FACTEUR_Q' ; SI mecha0 ; mod1 = tab0.'WTABLE'.'MECANIQUE'.'MODELE'.(1) ; mat1 = tab0.'WTABLE'.'MECANIQUE'.'CARACTERISTIQUES'.(1) ; SINO ; mod1 = tab0.'WTABLE'.'THERMIQUE'.'MODELE'.(1) ; mat1 = tab0.'WTABLE'.'THERMIQUE'.'CARACTERISTIQUES'.(1) ; FINS ; v1 = tab0.'WTABLE'.'VOLUME'.(1) * tab0.'FRACTION_VOLUME' ; l1 = tab0.'OC_L1' ; SINO ; l2 = tab0.'OC_L2' ; FINS ; l2min = tab0.'OC_L2_MIN' ; crit0 = tab0.'OC_CRITERE' ; maxit0 = tab0.'OC_MAX_IT' ; **** SI mcn0 ; bmin0 = tab0.'OC_B_MIN' ; **** FINS ; * x0 = tab0.'WTABLE'.'UN'.(1) * 0.0 ; * Update the topology REPE loop1 maxit0 ; SI ((((l2 - l1) / (l1 + l2)) > crit0) ET (l2 > l2min)) ; lmid0 = 0.5 * (l2 + l1) ; Be0 = dc0 * (-1.0 / lmid0) ; * Negative values does not only happen for compliant * mechanism synthesis but also for elastic strain energy * minimization with quadratic elements **** SI mcn0 ; **** FINS ; x0 = xOld0 * (Be0**d0) ; SI (q0 > 1) ; x0 = x0**q0 ; FINS ; * Bound x0 (void0<x0<1 and Abs(x0-xOld0)<move0) x0 = (x0 * mask0) - (xOldP0 * (mask0 - un1)) ; x0 = (x0 * mask0) - (xOldM0 * (mask0 - un1)) ; * New bound of the Lagrange multiplier l1 = lmid0 ; SINO ; l2 = lmid0 ; FINS ; SINO ; QUIT loop1 ; FINS ; FIN loop1 ; * Save the new topology tab0.'WTABLE'.'TOPOLOGIE' = x0 ; FINP ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales