On Tue, Feb 20, 2018 at 12:30 PM, Danyang Su <danyang...@gmail.com> wrote:

> Hi All,
>
> I tried to compile the DMPlexCreateSection code but got error information
> as shown below.
>
> Error: Symbol 'petsc_null_is' at (1) has no IMPLICIT type
>
> I tried to use PETSC_NULL_OBJECT instead of PETSC_NULL_IS, then the code
> can be compiled but run into Segmentation Violation error in
> DMPlexCreateSection.
>
>From the webpage


http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexCreateSection.html


The F90 version is DMPlexCreateSectionF90. Doing this with F77 arrays would
have been too painful.

  Thanks,

     Matt

> dmda_flow%da is distributed dm object that works fine.
>
> The fortran example I follow is http://www.mcs.anl.gov/petsc/
> petsc-dev/src/dm/impls/plex/examples/tutorials/ex1f90.F90.
>
> What parameters should I use if passing null to bcField, bcComps, bcPoints
> and perm.
>
> PetscErrorCode 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscErrorCode.html#PetscErrorCode>
>  DMPlexCreateSection 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/DMPLEX/DMPlexCreateSection.html#DMPlexCreateSection>(DM
>  <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/DM/DM.html#DM> 
> dm, PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  dim, PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  numFields,const PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  numComp[],const PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  numDof[], PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  numBC,const PetscInt 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Vec/PetscInt.html#PetscInt>
>  bcField[],
> const IS 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/IS/IS.html#IS> 
> bcComps[], const IS 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/IS/IS.html#IS> 
> bcPoints[], IS 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/IS/IS.html#IS> 
> perm, PetscSection 
> <https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/IS/PetscSection.html#PetscSection>
>  *section)
>
>
> #include <petsc/finclude/petscis.h>
> #include <petsc/finclude/petscis.h90>
> #include <petsc/finclude/petscdmplex.h>
>
> ...
>
> #ifdef USG
>         numFields = 1
>         numComp(1) = 1
>         pNumComp => numComp
>
>         do i = 1, numFields*(dmda_flow%dim+1)
>           numDof(i) = 0
>         end do
>         numDof(0*(dmda_flow%dim+1)+1) = dmda_flow%dof
>         pNumDof => numDof
>
>         numBC = 0
>
>         call DMPlexCreateSection(dmda_flow%da,dmda_flow%dim,          &
>                                  numFields,pNumComp,pNumDof,
> &
>                                  numBC,PETSC_NULL_INTEGER,
> &
>                                  PETSC_NULL_IS,PETSC_NULL_IS,
> &             !Error here
>                                  PETSC_NULL_IS,section,ierr)
>         CHKERRQ(ierr)
>
>         call PetscSectionSetFieldName(section,0,'flow',ierr)
>         CHKERRQ(ierr)
>
>         call DMSetDefaultSection(dmda_flow%da,section,ierr)
>         CHKERRQ(ierr)
>
>         call PetscSectionDestroy(section,ierr)
>         CHKERRQ(ierr)
> #endif
>
> Thanks,
>
> Danyang
>



-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>

Reply via email to