On Sat, Apr 13, 2013 at 9:51 PM, Dharmendar Reddy <dharmareddy84 at gmail.com>wrote:
> Hello, > Got it. I understand the reason for errors. I was using XXXSetF90 > functions in my code so i was using allocatable arrays. I thought all > set/getvlaues had corresponding F90 functions. I was trying to define and > use things consistently in the code. > I can fix the compile errors using pointers now. > > Now, can i request for Fortran interface for DMPlexMatSetClosure ? > Pushed. > will you be adding Fortran interfaces to the functions listed below ? > > FEMModules.F90:(.text+0xbfe0): undefined reference to > `dmplexgetdefaultsection_' > This is just DMGetDefaultSection(). Matt > FEMModules.F90:(.text+0xc048): undefined reference to > `petscsectiongetconstraintdof_ > > Solver.F90:(.text+0xaa1): undefined reference to `dmsnessetjacobianlocal_' > Solver.F90:(.text+0xabc): undefined reference to `dmsnessetfunctionlocal_' > > Thanks > Reddy > > > On Sat, Apr 13, 2013 at 9:32 PM, Matthew Knepley <knepley at gmail.com>wrote: > >> 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 >> > > > > -- > ----------------------------------------------------- > 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/20130415/be72671e/attachment.html>
