[petsc-users] how to output components of a section
leejearl
leejearl at 126.com
Mon Nov 7 02:08:32 CST 2016
Hi Sander:
Thank your for your assistance, but it is still not works. The code
is now as follows:
Vec subX, X;
DM subdm;
IS subIS;
PetscInt numSubFields = 2;
PetscInt subFields[2];
subFields[0] = 0; subFields[1] =1 ;
ierr = DMCreateSubDM(dm, numSubFields, subFields, &subIS,
&subdm);CHKERRQ(ierr);
ierr = DMGetGlobalVector(dm, &X);CHKERRQ(ierr);
ierr = VecGetSubVector(X,subIS,&subX);CHKERRQ(ierr);
ierr = VecSetDM(subX, dm);CHKERRQ(ierr);
ierr = PetscObjectSetName((PetscObject) subX,
"sol.");CHKERRQ(ierr);
ierr = PetscViewerSetType(*viewer,
PETSCVIEWERVTK);CHKERRQ(ierr);
ierr = PetscViewerPushFormat(*viewer,
PETSC_VIEWER_VTK_VTU);CHKERRQ(ierr);
ierr = PetscViewerFileSetName(*viewer,
"subsol.vtu");CHKERRQ(ierr);
ierr = VecView(subX, viewer);CHKERRQ(ierr);
ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
ierr = VecRestoreSubVector(X, subIS, &subX);CHKERRQ(ierr);
DMDestroy(&subdm);
ierr = DMRestoreGlobalVector(dm, &X);CHKERRQ(ierr);
I have add "VecSetDm", but it has not output file.
Thanks
leejearl
On 2016年11月07日 15:35, Sander Arens wrote:
> Does it work if you put
> ierr = VecSetDM(subX, subdm);CHKERRQ(ierr);
> before the VecView?
>
> Thanks,
> Sander
>
> On 7 November 2016 at 03:50, leejearl <leejearl at 126.com
> <mailto:leejearl at 126.com>> wrote:
>
> Hi, Barry:
> I must have some make some mistakes. I post the code as follows:
> Vec subX, X;
> DM subdm;
> IS subIS;
> PetscInt numSubFields = 2;
> PetscInt subFields[2];
> subFields[0] = 0; subFields[1] =1 ;
> ierr = DMCreateSubDM(dm, numSubFields, subFields, &subIS,
> &subdm);CHKERRQ(ierr);
> ierr = DMGetGlobalVector(dm, &X);CHKERRQ(ierr);
> ierr = VecGetSubVector(X,subIS,&subX);CHKERRQ(ierr);
> ierr = PetscObjectSetName((PetscObject) subX,
> "sol.");CHKERRQ(ierr);
> ierr = PetscViewerSetType(*viewer,
> PETSCVIEWERVTK);CHKERRQ(ierr);
> ierr = PetscViewerPushFormat(*viewer,
> PETSC_VIEWER_VTK_VTU);CHKERRQ(ierr);
> ierr = PetscViewerFileSetName(*viewer,
> "subsol.vtu");CHKERRQ(ierr);
> ierr = VecView(subX, viewer);CHKERRQ(ierr);
> ierr = PetscViewerDestroy(&viewer);CHKERRQ(ierr);
> ierr = VecRestoreSubVector(X, subIS, &subX);CHKERRQ(ierr);
> DMDestroy(&subdm);
> ierr = DMRestoreGlobalVector(dm, &X);CHKERRQ(ierr);
>
> There are three fields in dm, and I want to obtain the vector of
> the two of them. But, I can not
> get the output file “subsol.vtu”. Can you help me with the code?
>
> Thanks
> leejearl
>
> On 2016年11月06日 12:21, Barry Smith wrote:
>
> On Nov 5, 2016, at 8:36 PM, leejearl <leejearl at 126.com
> <mailto:leejearl at 126.com>> wrote:
>
> Hi Sander:
> Thank you for your advices, and it works. But it is
> only available in th local vector.
>
> This should work on the global vector. Please send the full
> output of the error messages when used with a global vector.
>
> Barry
>
> Is there any methods to reach this purposes in the global
> vector?
> Thanks
> leejearl
> On 2016年11月05日 19:29, Sander Arens wrote:
>
> You can first obtain an IS with
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMCreateSubDM.html
> <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMCreateSubDM.html>
> and with that you can obtain a subvector with
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecGetSubVector.html
> <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecGetSubVector.html>
> which you can then view the usual way.
>
> Thanks,
> Sander
>
> On 5 November 2016 at 12:17, leejearl
> <leejearl at 126.com <mailto:leejearl at 126.com>> wrote:
> Hi, all:
>
> I meet a problems which I can not overcome. The
> programe is like the code in
>
> "http://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/plex/examples/tutorials/ex1.c.html
> <http://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/plex/examples/tutorials/ex1.c.html>".
>
> The code create a section which has three fields:
> u,v,w. How can I output the fields u and v without
> together with w?
>
> Thanks!
>
>
> leejearl
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161107/a75e176e/attachment.html>
More information about the petsc-users
mailing list