<p>Your faithfully:</p><p>     program <a href="http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/ex3.c.html" target="_blank"><u><font color="#0066cc">src/ksp/ksp/examples/tutorials/ex3.c.html</font></u></a> is about Bilinear elements on the unit square for Laplacian.</p><p>     After preallocation using    </p><p>     "ierr  = MatMPIAIJSetPreallocation(A,<font color="#ff0000">9</font>,NULL,<font color="#ff0000">5</font>,NULL);CHKERRQ(ierr); <font color="#ff0000">/* More than necessary */<font color="#000000">",</font></font><br></p><p>     Results of commands of "mpiexec -n 2 ./ex3" and "mpiexec -n 2 ./ex3" are "Norm of error 2.22327e-06 Iterations 6" and "Norm of error 3.12849e-07 Iterations 8". Both results is good!</p><p>     However, if I use "mpiexec -n 4 ./ex3" or 5,6,7...precesses, error "[2]PETSC ERROR: New non
 
 zero at (4,29) (here is for process 4, other positions for different processes) caused a malloc!" appear!. For me, this error is unbelievable, because first, the preallocation is more than necessary,how can the new malloc appear? Second, the global number 4 point originally have no neighbor vertices whose global number is 29! This error have tortured me for long times.</p><p>     This error seems meaningless, however, my recent 3d finite element method cannot be caculated by more processesowing to the new nonzero malloc!And this is why I want to use 4 or much more processes to compute ex3.c.</p><p>     Thank you for all previous assistence and hope you have a good life!</p><p>your sincerely</p><p>LV CHAO</p><p>2014/3/21<br></p><span></span><br><br><br>