Hello,


When I use MatMPIAIJSetPreallocation I get an argument out of range error, as 
below,



[15]PETSC ERROR: Argument out of range

[15]PETSC ERROR: New nonzero at (8,421) caused a malloc. Use MatSetOption(A, 
MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE) to turn off this check



However, when I run the code again with identical parameters without 
MatMPIAIJSetPreallocation, there is no non-zero at the location that caused the 
error (8, 421). Using -mat_view I can see that row 8 only contains a single 
value at column 8, which is expected and what I have allocated for.


I have also checked that every time I call MatSetValues that this location is 
not being set.


I am very confident my dnnz and onnz arrays have been set correctly, do you 
have any idea why this new non-zero is created?


I am using Petsc version 3.22.1 and Slepc version 3.22.1 with fortran.


This issue does not occur with small number of processors, (1-8), however, this 
error is consistent when I use >8 processors.


Thanks,

Matt

Reply via email to