Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2019:03_08

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

commit:2019:03_08 [2019/03/07 12:30] – created papeleuxcommit:2019:03_08 [2019/03/07 12:33] (current) papeleux
Line 10: Line 10:
  
 ====== extracteurs ====== ====== extracteurs ======
-  * 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 (double vector ou tuple selon le cas).+  * 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)   * 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).   * 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 :    * conclusions : 
     * le truc de Yannick fonctionne     * 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))     * 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é, il est aussi casté proprement en DoubleVector (par exemple pour l'utilisation d'un V2SOP)+    * 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 : ===== ===== Fichiers ajoutés/supprimés : =====
commit/2019/03_08.1551958206.txt.gz · Last modified: 2019/03/07 12:30 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki