On Sat, Apr 13, 2013 at 9:18 PM, Dharmendar Reddy <dharmareddy84 at gmail.com>wrote:
> I am getting bunch of erros in my code related to DMPlex > > If i use DMPlexVecSetClosure I get the following error. > > A pointer dummy argument may only be argument associated with a pointer. > [FELM] > call > DMPlexVecSetClosure(dm,PETSC_NULL_OBJECT,F,cellId,Felm,ADD_VALUES,ierr) > > Felm is defined as : PetscScalar,allocatable :: Felm(:) > Did you look at the sample code? http://www.mcs.anl.gov/petsc/petsc-dev/src/dm/impls/plex/examples/tests/ex2f90.F.html You define pointers. You can see what function I have defined by looking at the header https://bitbucket.org/petsc/petsc/src/62a20339e027b37fab44424f1466054586f1dc85/include/finclude/ftn-custom/petscdmplex.h90?at=master and its clear from the file that DMPlexMatSetClosure() has not been defined in Fortran. Matt > I do a similar call to DMPlexMatSetClosure, i get no error. > > Now if i use DMPlexVecSetClosureF90, code compiles, but i see undefined > reference error during link stage: > > FEMModules.F90:(.text+0xba77): undefined reference to > `dmplexvecsetclosuref90_' > > FEMModules.F90:(.text+0xbea9): undefined reference to > `dmplexmatsetclosure_' > > FEMModules.F90:(.text+0xbfe0): undefined reference to > `dmplexgetdefaultsection_' > FEMModules.F90:(.text+0xc048): undefined reference to > `petscsectiongetconstraintdof_ > > Solver.F90:(.text+0xaa1): undefined reference to `dmsnessetjacobianlocal_' > Solver.F90:(.text+0xabc): undefined reference to `dmsnessetfunctionlocal_' > > > > > On Sat, Apr 13, 2013 at 8:22 PM, Matthew Knepley <knepley at gmail.com>wrote: > >> On Sat, Apr 13, 2013 at 8:20 PM, Dharmendar Reddy < >> dharmareddy84 at gmail.com> wrote: >> >>> Hello, >>> I am getting an undefined reference error :: >>> FEMModules.F90:(.text+0xba77): undefined reference to >>> `dmplexvecsetclosuref90_' >>> FEMModules.F90:(.text+0xbea9): undefined reference to >>> `dmplexmatsetclosuref90_' >>> >>> I can see that DMPlexVecSetClosure is defined in >>> >>> /finclude/ftn-custom/petscdmplex.h90:159: >>> >>> but the name is DMPlexVecSetClosure instead of DMPlexVecSetClosureF90. >>> >>> And there is no DMPlexMatSetClosureF90 >>> >>> >>> What should i do ? >>> >> >> I was not consistent here with the naming. Since an F77 version was not >> possible, I did not >> add F90. That is probably wrong, however I would like to scrap the F77 >> version of Plex since >> everyone uses F90 now and the extra letters are annoying. Go ahead and >> use the function. >> >> Matt >> >> >>> Thanks >>> Reddy >>> -- >>> ----------------------------------------------------- >>> Dharmendar Reddy Palle >>> Graduate Student >>> Microelectronics Research center, >>> University of Texas at Austin, >>> 10100 Burnet Road, Bldg. 160 >>> MER 2.608F, TX 78758-4445 >>> e-mail: dharmareddy84 at gmail.com >>> Phone: +1-512-350-9082 >>> United States of America. >>> Homepage: https://webspace.utexas.edu/~dpr342 >>> >> >> >> >> -- >> 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 >> > > > > -- > ----------------------------------------------------- > Dharmendar Reddy Palle > Graduate Student > Microelectronics Research center, > University of Texas at Austin, > 10100 Burnet Road, Bldg. 160 > MER 2.608F, TX 78758-4445 > e-mail: dharmareddy84 at gmail.com > Phone: +1-512-350-9082 > United States of America. > Homepage: https://webspace.utexas.edu/~dpr342 > -- 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130413/be77b77c/attachment.html>
