> On May 30, 2015, at 5:05 AM, Rongliang Chen <[email protected]> wrote:
> 
> Hi there,
> 
> I am trying to use NASM to solve a nonlinear problem. In my 
> FormFunctionLocal, I need to call DMDAVecGetArray(da, myvec, z). For the 
> "-da_overlap 0" case, the code works fine. 
> 
> For the "-da_overlap 1" case, when I use the vector "myvec" created by 
> DMCreateLocalVector, it works fine. But if I use the vector "myvec" created 
> by DMCreateGlobalVector, I got the error messages:
> -----------------------
> [6]Arguments are incompatible
> [6]PETSC ERROR: Vector local size 597870 is not compatible with DMDA local 
> sizes 619528 664392

I think you are changing something else at the same time you changed the 
overlap.  The number ^^^^  619528 is the local size of the global vector and it 
should remain the same when you change the overlap but below you have TWO other 
numbers 633144 and 650256  Do you have more than one DMDA? 
Run changing absolutely nothing except the overlap.
> ----------------------
> 
> And when I switch to "-da_overlap 2", both of the global and local version of 
> "mrvec" got error messages: 
> ----------------------------------
> [10]PETSC ERROR: Arguments are incompatible
> [10]PETSC ERROR: Vector local size 589680 is not compatible with DMDA local 
> sizes 633144 678680
> 
> [3]PETSC ERROR: Arguments are incompatible
> [3]PETSC ERROR: Vector local size 619528 is not compatible with DMDA local 
> sizes 650256 696540
> -----------------------------------
> 
> Can any one tell me how to use DMDAVecGetArray in FormFunctionLocal for NASM? 
> Thanks.
> 
> Best regards,
> Rongliang
> 

Reply via email to