[petsc-users] DAGlobalToLocalBegin()

Matthew Knepley knepley at gmail.com
Wed Mar 24 14:46:26 CDT 2010


It really impossible to see what is happening in your code from this post.
Is this
FormFunction or FormFunctionLocal?

  Matt

On Wed, Mar 24, 2010 at 2:41 PM, (Rebecca) Xuefei YUAN
<xy2102 at columbia.edu>wrote:

> Hi,all,
>
> I have an error from
>
> ierr = DAGlobalToLocalBegin(dafield,X,INSERT_VALUES,localFIELD);
> CHKERRQ(ierr);
>
> where
>
> ierr = DMMGSetSNES(dmmg, FormFunction,0);CHKERRQ(ierr); is used for set up
> the SNES.
>
> So I check up the vector size of X, F, localFIELD where
>        ierr = DAGetLocalVector(dafield,&localFIELD);CHKERRQ(ierr);
>        PetscInt        nlocalFIELD,nX,nF;
>        ierr = VecGetSize(localFIELD,&nlocalFIELD);CHKERRQ(ierr);
>        ierr = VecGetSize(X,&nX);CHKERRQ(ierr);
>        ierr = VecGetSize(F,&nF);CHKERRQ(ierr);
>        ierr = DAGlobalToLocalBegin(dafield,X,INSERT_VALUES,localFIELD);
> CHKERRQ(ierr);
>        ierr =
> DAGlobalToLocalEnd(dafield,X,INSERT_VALUES,localFIELD);CHKERRQ(ierr);
>        ierr = DAVecGetArray(dafield,localFIELD,&localfield);CHKERRQ(ierr);
>
>
> (gdb) disp nX
> 1: nX = 120
> (gdb) disp nF
> 2: nF = 120
> (gdb) disp nlocalFIELD
> 3: nlocalFIELD = 100
> (gdb) where
> #0  FormFunction (snes=0x8a47840, X=0x8a39c20, F=0x8a37570,
> dummg=0x8a2b810)
>    at twgcqt2unffnictv.c:8382
> #1  0x080fb28f in SNESComputeFunction (snes=0x8a47840, x=0x8a39c20,
>    y=0x8a37570) at snes.c:1093
> #2  0x08123d1b in SNESSolve_LS (snes=0x8a47840) at ls.c:159
> #3  0x08103fac in SNESSolve (snes=0x8a47840, b=0x0, x=0x8a39c20) at
> snes.c:2242
> #4  0x0811db31 in DMMGSolveSNES (dmmg=0x8a2b6b0, level=0) at damgsnes.c:510
> #5  0x08117029 in DMMGSolve (dmmg=0x8a2b6b0) at damg.c:313
> #6  0x08052ecc in Solve (dmmg=0x8a2b6b0) at twgcqt2unffnictv.c:679
> #7  0x0804def5 in main (argc=Cannot access memory at address 0x0
> ) at twgcqt2unffnictv.c:303
>
> 3: nlocalFIELD = 100
> 2: nF = 120
> 1: nX = 100
> (gdb) where
> #0  FormFunction (snes=0x8a47840, X=0x8b39cc0, F=0x8adb2f0,
> dummg=0x8a2b810)
>    at twgcqt2unffnictv.c:8382
> #1  0x0860c63d in MatFDColoringApply_AIJ (J=0x8a6bbb0, coloring=0x8aa7b40,
>    x1=0x8b12a60, flag=0xbfbf4404, sctx=0x8a47840) at fdmatrix.c:680
> #2  0x0860abaf in MatFDColoringApply (J=0x8a6bbb0, coloring=0x8aa7b40,
>    x1=0x8b12a60, flag=0xbfbf4404, sctx=0x8a47840) at fdmatrix.c:521
> #3  0x08122e45 in SNESDefaultComputeJacobianColor (snes=0x8a47840,
>    x1=0x8b12a60, J=0x8a47910, B=0x8a47914, flag=0xbfbf4404, ctx=0x8aa7b40)
>    at snesj2.c:49
> #4  0x0811c7cf in DMMGComputeJacobianWithFD (snes=0x8a47840, x1=0x8a39c20,
>    J=0x8a47910, B=0x8a47914, flag=0xbfbf4404, ctx=0x8a2b810) at
> damgsnes.c:365
> #5  0x0811a883 in DMMGComputeJacobian_Multigrid (snes=0x8a47840,
> X=0x8a39c20,
>    J=0x8a47910, B=0x8a47914, flag=0xbfbf4404, ptr=0x8a2b6b0) at
> damgsnes.c:60
> #6  0x080fc610 in SNESComputeJacobian (snes=0x8a47840, X=0x8a39c20,
>    A=0x8a47910, B=0x8a47914, flg=0xbfbf4404) at snes.c:1188
> #7  0x08124471 in SNESSolve_LS (snes=0x8a47840) at ls.c:189
> #8  0x08103fac in SNESSolve (snes=0x8a47840, b=0x0, x=0x8a39c20) at
> snes.c:2242
> #9  0x0811db31 in DMMGSolveSNES (dmmg=0x8a2b6b0, level=0) at damgsnes.c:510
> #10 0x08117029 in DMMGSolve (dmmg=0x8a2b6b0) at damg.c:313
> #11 0x08052ecc in Solve (dmmg=0x8a2b6b0) at twgcqt2unffnictv.c:679
> #12 0x0804def5 in main (argc=Cannot access memory at address 0x1
> ) at twgcqt2unffnictv.c:303
>
> Why nX changes from 120 to 100? Is X a global vector or a local vector?
>
> Thanks very much!
>
>
>
> --
> (Rebecca) Xuefei YUAN
> Department of Applied Physics and Applied Mathematics
> Columbia University
> Tel:917-399-8032
> www.columbia.edu/~xy2102
>
>


-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100324/6bfc6413/attachment.htm>


More information about the petsc-users mailing list