[petsc-users] how to output components of a section
leejearl
leejearl at 126.com
Sun Nov 6 20:50:24 CST 2016
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> 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
>>> and with that you can obtain a subvector with
>>> 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> 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".
>>>
>>> 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
>>>
>>>
>>>
>>>
More information about the petsc-users
mailing list