[petsc-users] PetscMalloc with Fortran

Jed Brown jed at jedbrown.org
Thu May 15 09:45:21 CDT 2014

Jonas Mairhofer <mairhofer at itt.uni-stuttgart.de> writes:

> Hi, I'm trying to set the coloring of a matrix using ISColoringCreate. 
> Therefore I need an array 'colors' which in C can be creates as (from 
> example ex5s.c)
> int *colors
> PetscMalloc(...,&colors)

There is no PetscMalloc in Fortran, due to language "deficiencies".

> colors(i) = ....
> ISColoringCreate(...)
> How do I have to define the array colors in Fortran?
> I tried:
> Integer, allocatable :: colors(:)    and    allocate() instead of 
> PetscMalloc
> and
> Integer, pointer :: colors
> but neither worked.

The ISColoringCreate Fortran binding copies from the array you pass into
one allocated using PetscMalloc.  You should pass a normal Fortran array
(statically or dynamically allocated).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140515/83aa46ed/attachment.pgp>

More information about the petsc-users mailing list