* TOPOFILT PROCEDUR FD218221 23/11/29 21:15:09 11799 ************************************************************************ ** Procedure called by TOPOPTIM for filtering the sensitivity field. ** ** Author: ** Guenhael Le Quilliec (LaMe - Polytech Tours) ** ** Version: ** 3.0 2021/04/19 Adding a second filtering function using a filtering ** matrix generated with the operator MFIL ** 2.0 2017/11/11 Default Gibiane filter ************************************************************************ * Input data * ********** wtab0 = tab0.'WTABLE' ; bool0 = wtab0.'BOOL' ; * Matrix filtering * **************** SI (EGA tab0.'FILTRE' 'MATRICE') ; * Build the filtering matrix * ************************** * If the mesh has changed SI bool0.'MECANIQUE' ; volEl1 = wtab0.'MECANIQUE'.'VOLUME'.(1) ; SINO ; volEl1 = wtab0.'THERMIQUE'.'VOLUME'.(1) ; FINS ; tab0.'FILTRE_RAYON' tab0.'FILTRE_EXPOSANT' tab0.'FILTRE_CRITERE' ; FINS ; * Filter the sensibility field * **************************** * Node field to be filtered * Filter the node field and sort all its values in the same order of the elements (as the product with the rigidity filtering affects the order of the output values) * Filtered element field * In thermal mode, 'GRAVITE' option is not respected * This problem is solved by INTG 'ELEM' SI (NON bool0.'MECANIQUE') ; FINS ; * Filtered sensitivity * Default Gibiane filtering * ************************* SINO ; SI (tab0.'FILTRE_TAUX' > 0) ; * Field to be filtered field0 = wtab0.'SENSIBILITE' * wtab0.'TOPOLOGIE' ; * Filtering REPE loop0 tab0.'FILTRE_TAUX' ; FIN loop0 ; * In thermal mode, 'GRAVITE' option is not respected * This problem is solved by INTG 'ELEM' SI (NON bool0.'MECANIQUE') ; FINS ; * Save the filtered sensibility wtab0.'SENSIBILITE' = dc0 ; FINS ; FINS ; FINP ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales