Hello,

i'm facing a very slow MatSetValues during the discretization of my  
mathematical problem when creating the matrix.
My matrix is seven banded, come from the a discretization of an  
helmholtz problem using finite differences.

In the 2D case, creating the matrix is really fast. But in 3D case it  
goes well for the first second loop processing and then it goes really  
really slow. Here is a small part of my code :


ierr = DAGetCorners(*da, &Istartx, &Istarty, &Istartz, &Iendx, &Iendy,  
&Iendz);
     CHKERRQ(ierr);

        for (j = Istartz; j < Istartz + Iendz; j++) {

            for(k=Istarty; k < Istarty+Iendy; k++){
                for (i = Istartx; i < Istartx + Iendx; i++) {


                /*get values on an array, their coordinate too*/

        MatSetValues(*B, 
1,ind_mat_x,value_count,ind_mat_y,val_mat_ligne,ADD_VALUES);
        }
}

Did you encounter any slowness for MatSetValues function ?

Thanks a lot

Regards


PYA

Reply via email to