Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2011:04_11

Commit 2011-04-11

Suppression de variables statiques

J'ai supprimé un beau paquet de variables statiques liées principalement au contact en vue de paraléliser la détection des noeuds en contact. Par exemple le code suivant a été modifié (MeshPointDetector.cpp):

static ProjectionState PjstNod1;
pjOp.projection(PjstNod1, nodx);

Le mot clef static est présent juste pour éviter l'allocation successive de plusieurs ProjectionState. Ca marche très bien (et pas beaucoup moins vite) quand cet objet est alloué sur la pile.

Hors contexte contact, j'ai modifié les fonctions de forme (routines du style getNbIpForMassIntegration) qui retournaient des variables statiques elles aussi. L'utilisation de “pi” (en variable statique locale) a été remplacée par un appel à mtMath::OOPi. Il y avait aussi qq static dans Nurbs++ et l'ALE.

Au final, j'ai pas vu de dégradation de perfs. Ces modifs sont de toutes façons inévitables (et ne sont pas les dernières) pour paralléliser le code.

Romain BOMAN 2011/04/11 13:46

commit/2011/04_11.txt · Last modified: 2016/03/30 15:23 (external edit)