[petsc-users] VTKViewer with petsc4py

Blaise Bourdin bourdin at lsu.edu
Fri Jul 30 21:50:20 CDT 2010


Great! that works.

Now my problem is with DASetUniformCoordinates or DASetCoordinates. Do they exist in petsc4py? I can't see them when I do a dir(da).

Thanks,
Blaise 

On Jul 30, 2010, at 9:10 PM, Lisandro Dalcin wrote:

> On 30 July 2010 21:13, Blaise Bourdin <bourdin at lsu.edu> wrote:
>> Hi,
>> 
>> Is PetscViewerSetFormat implemented in petsc4py (I am using petsc-3.1-p3 and petsc4py-1.1)?
> 
> Viewer.setFormat() is certainly available.
> 
>> I am trying to save a DA and Vec in vtk format, but can't figure out the python equivalent to
>> PetscViewerSetFormat(VTKViewer,PETSC_VIEWER_ASCII_VTK).
>> 
> 
> However, it seems I missed to add Viewer.Format.ASCII_VTK. As a
> workaround, you could do:
> 
> viewer.setFormat(11) # "11" is the corresponding enum value from petscviewer.h
> 
> Alternatively, you could monkeypatch like below at the beginning of your code:
> 
> from petsc4py import PETSc
> PETSc.Viewer.Format.ASCII_VTK = 11
> 
> 
>> My C code would be
>>  ierr = PetscViewerCreate(PETSC_COMM_WORLD,&VTKViewer);CHKERRQ(ierr);
>>  ierr = PetscViewerSetType(VTKViewer,PETSC_VIEWER_ASCII);CHKERRQ(ierr);
>>  ierr = PetscViewerFileSetName(VTKViewer,filename);CHKERRQ(ierr);
>>  ierr = PetscViewerSetFormat(VTKViewer,PETSC_VIEWER_ASCII_VTK);CHKERRQ(ierr);
>> 
>>  ierr = DAView(da,VTKViewer);CHKERRQ(ierr);
>>  ierr = VecView(U,VTKViewer);CHKERRQ(ierr);
>> 
>> What would be the python equivalent?
>> 
> 
> vtkviewer = PETSc.Viewer().create(PETSc.COMM_WORLD)
> vtkviewer.setType('ascii') # or pass PETSc.Viewer.Type.ASCII
> vtkviewer.setFileName(filename)
> vtkviewer.setFromat(PETSc.Viewer.Format.ASCII_VTK) # of course,
> requires previous hack.
> 
> 
> However, this way is simpler:
> 
> vtkviewer = PETSc.Viewer().createASCII(
>    filename, format=PETSc.Viewer.Format.ASCII_VTK,
>    comm= PETSc.COMM_WORLD)
> 
> 
> PS:  I'll add the missing format enumerate ASAP to petsc4py-dev,
> branch release-1-1. I'm near to make a micro release with a bunch of
> fixes, I´m just waiting for Cython 0.13 to be released.
> 
> -- 
> Lisandro Dalcin
> ---------------
> CIMEC (INTEC/CONICET-UNL)
> Predio CONICET-Santa Fe
> Colectora RN 168 Km 472, Paraje El Pozo
> Tel: +54-342-4511594 (ext 1011)
> Tel/Fax: +54-342-4511169

-- 
Department of Mathematics and Center for Computation & Technology
Louisiana State University, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin









More information about the petsc-users mailing list