That’s generating malloc errors:

[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: New nonzero at (10,0) caused a malloc
Use MatSetOption(A, MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE) to turn off 
this check

I suspect this is because DMCreateMatrix is picking a sparsity pattern which is 
not consistent with what I need.

-gideon

> On Jul 28, 2015, at 10:10 PM, Barry Smith <[email protected]> wrote:
> 
> 
>  DMCreateMatrix() ? 
> 
> 
>> On Jul 28, 2015, at 9:02 PM, Gideon Simpson <[email protected]> wrote:
>> 
>> I’m working with a DMComposite where I have a DMRedundant with 2 parameters, 
>> and then a standard DMDACreate with some number of entires that I would like 
>> to have distributed.  For concreteness, suppose it is 
>> 
>> DMCompositeCreate(PETSC_COMM_WORLD, &packer);
>> DMRedundantCreate(PETSC_COMM_WORLD, 0, 2, &p_dm);
>> DMCompositeAddDM(packer,p_dm);
>> DMDACreate1d(PETSC_COMM_WORLD,DM_BOUNDARY_NONE, nx, 1, 1, NULL,&u_dm);
>> DMCompositeAddDM(packer,u_dm);
>> DMCreateGlobalVector(packer,&U);
>> 
>> Now, I would like to construct a matrix for this problem that can be used 
>> for computing Jacobians in a nonlinear solve.  Is there a way to get the 
>> matrix size to layout in a “useful” way, in the sense that the first 
>> process, which owns the two degrees of freedom of p_dm and the first N0 
>> number of the rows of u_dm, controls the corresponding N0+2 rows of the 
>> matrix, and analgously for the second process has the next N1 rows of the 
>> u_dm vector, and has the next N1 rows of the matrix?
>> 
>> -gideon
>> 
> 

Reply via email to