Commit - LPx - 08 Mars 2019
Petites améliorations de Metafor à la demande de Yannick (optimisation tests d'IRS)
meshers.py
matlab.py
suite à un bug observé par Yannick dans l'utilisation d'extracteurs dans le critères d'arret de la simulation, on s'est rendu compte avec Romain que les extracteur ne renvoyaient pas toujours le même objet (DoubleVector (soit un std::vector<double> sous python ou tuple selon le cas) :
En fait, la définition de doubleVector postérieure à l'import des extracteurs dans mtFEM.i conduisaient à ce que les extracteurs renvoyaient un pointeur vers un std::vector<double> (qui n'était jamais détruit)
par contre, les extracteurs de contact étant interfacé après définition de DoubleVector, ils avaient un comportement différent !!!
via la définition de DoubleVector dans mtGlobal.i, la fonction extract renvoie un DoubleVector qui est casté en tuple (c'est d'après les forums le comportement voulu par swig).
conclusions :
le truc de Yannick fonctionne
il n'est plus possible d'utiliser les fonctions de std::vector (ex : XXX.size()) sur les valeurs extraites en python. Il faut utiliser les fonction de tuple à la place (ex : len(XXX))
Par contre, le DoubleVector étant bien interfacé, le tuple est aussi casté proprement dans l'autre sens en DoubleVector (par exemple pour l'utilisation d'un V2SOP)
Fichiers ajoutés/supprimés :
Added :
Deleted :
Moved :
Tests ajoutés/supprimés
Adding: oo_meta/apps/qs/cont2PythonExtractorStopCrit.py
Deleted :
Moved :
— Luc Papeleux 2019/03/07