* TOPOAGRE PROCEDUR FD218221 25/12/18 21:15:02 12429 ************************************************************************ ** Procedure called by TOPOCONT to evaluate the aggregated constraint ** and its derivative. ** ** Author: ** Guenhael Le Quilliec (LaMe - Polytech Tours) ** ** Version: ** 1.0 2025/11/21 Initial version ************************************************************************ DEBP TOPOAGRE tab*'TABLE' fld*'MCHAML' mod*'MMODEL' ; * General input data * ****************** Wtab = tab.'WTABLE' ; * Values and parameters * ********************* * List of values to be aggregated * Name/type of the aggregation function aggtyp = Wtab.'AGREGATION' ; aggp = Wtab.'AGREGATION_P' ; * Aggregation and its derivative * ****************************** * TODO utiliser l'operateur AGRE * il faudrait qu'il retourne lui meme la liste des derivees ! *agg dagg = AGRE aggtyp lstval aggp ; * Lower bound KS-function (KSl) SI (EGA aggtyp 'KSL') ; tmp1 = (EXP (lstval * aggp)) ; * Aggregation TODO à remplacer par la nouvelle fonction de Cast3M 2026 * Its derivative dagg = tmp1 / tmp2 ; FINS ; * Upper bound KS-function (KSu) SI (EGA aggtyp 'KSU') ; tmp1 = (EXP (lstval * aggp)) ; * Aggregation TODO à remplacer par la nouvelle fonction de Cast3M 2026 agg = (1.0 / aggp) * (LOG tmp2) ; * Its derivative dagg = tmp1 / tmp2 ; FINS ; * P-norm SI (EGA aggtyp 'PNOR') ; * Aggregation TODO à remplacer par la nouvelle fonction de Cast3M 2026 agg = tmp**(1.0 / aggp) ; * Its derivative dagg = (tmp**((1.0 / aggp) - 1.0)) * (lstval**(aggp - 1.0)) ; FINS ; * P-mean SI (EGA aggtyp 'PMOY') ; tmp3 = 1.0 / aggp ; * Aggregation TODO à remplacer par la nouvelle fonction de Cast3M 2026 agg = (tmp1 * tmp2)**tmp3 ; * Its derivative dagg = (tmp1**tmp3) * (tmp2**(tmp3 - 1.0)) * (lstval**(aggp - 1.0)) ; FINS ; * Derivative output field * *********************** FINP agg dagg ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales