ARudik / feelpp

Automatically exported from code.google.com/p/feelpp
0 stars 0 forks source link

OpInterlation too slow #3

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. nirb
2.
3.

What is the expected output? What do you see instead?

Please use labels and text to provide additional information.

J'ai remarqué que la construction de l'opérateur "opInterpolation" prenait 
parfois beaucoup de temps, beaucoup plus que l'appel de "interpolate". Je me 
demandais si c'était normal ou si c'était une mauvaise utilisation de ma part.

 Dans la version que je viens de "commiter" j'ai commenté la partie qui appelle "opInterpolate" pour utiliser "interpolante", car au final ça reste plus rapide d'appeler  (N+1) fois 'interpolate', que de construire 2 fois l'opérateur.

Au premier appel  de l'opérateur "opInterpolate", la construction de celui-ci 
prend très longtemps (plus 210sec) contre 4sec pour l'appel d'interpolate.
Par contre au second appel, la construction de l'opérateur est beaucoup plus 
rapide à peine quelques secondes.  

Voici les 2 routines pour lesquels j'ai besoin de faire  l'interpolation du 
maillage grossier vers fin, si jamais vous voulez regarder.

element_type :BuildCoarseInterpolation(space_ptrtype XhFine,space_ptrtype 
XhCoarse, double param);
Eigen::MatrixXd  BuildBetaH(space_ptrtype XhFine,space_ptrtype 
XhCoarse,vector_of_element_type  &M_VNirbBasis);

En attendant je vais refaire les test en construisant directement la matrice 
correspondant à la forme bilinéaire (uHGrossier, vhFin), voir si ça donne 
toujours des résultats bizarre ou non, dans quel cas il n'y aurais plus besoin 
de passer par l'interpolée.

Original issue reported on code.google.com by christop...@feelpp.org on 12 Mar 2012 at 4:00

GoogleCodeExporter commented 9 years ago

Original comment by christop...@feelpp.org on 15 Mar 2012 at 10:05