Thanks, that clears things up nicely.

Bruce

From: Barry Smith <bsm...@petsc.dev>
Date: Wednesday, December 13, 2023 at 6:28 AM
To: Sanjay Govindjee <s...@berkeley.edu>
Cc: Palmer, Bruce J <bruce.pal...@pnnl.gov>, petsc-users@mcs.anl.gov 
<petsc-users@mcs.anl.gov>
Subject: Re: [petsc-users] Fortran Interface
fixed



On Dec 12, 2023, at 11:17 PM, Sanjay Govindjee <s...@berkeley.edu> wrote:

did you mean to write

type (userctx)   ctx

in this example?



subroutine func(snes, x, f, ctx, ierr)
SNES snes
Vec x,f
type (userctx)   user
PetscErrorCode ierr
...

external func
SNESSetFunction(snes, r, func, ctx, ierr)
SNES snes
Vec r
PetscErrorCode ierr
type (userctx)   user



On Tue, Dec 12, 2023 at 7:10 PM Barry Smith 
<bsm...@petsc.dev<mailto:bsm...@petsc.dev>> wrote:

See 
https://petsc.gitlab.io/-/petsc/-/jobs/5739238224/artifacts/public/html/manual/fortran.html#ch-fortran
 and https://gitlab.com/petsc/petsc/-/merge_requests/7114




On Dec 12, 2023, at 3:22 PM, Palmer, Bruce J via petsc-users 
<petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> wrote:

What do you do with something like a void pointer? I’m looking at the 
TaoSetObjectiveAndGradient function and it wants to pass a void *ctx pointer. 
You can set this to null, but apparently you have to specify the type. What 
type should I use? Is there something called PETSC_NULL_VOID or 
PETSC_NULL_CONTEXT or do I use something else?

From: Matthew Knepley <knep...@gmail.com<mailto:knep...@gmail.com>>
Date: Tuesday, December 12, 2023 at 8:33 AM
To: Palmer, Bruce J <bruce.pal...@pnnl.gov<mailto:bruce.pal...@pnnl.gov>>
Cc: petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov> 
<petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>>
Subject: Re: [petsc-users] Fortran Interface
Check twice before you click! This email originated from outside PNNL.

On Tue, Dec 12, 2023 at 11:27 AM Palmer, Bruce J via petsc-users 
<petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> wrote:
Does documentation for the PETSc fortran interface still exist? I looked at the 
web pages for 3.20 (petsc.org/release<http://petsc.org/release>) but if you go 
under the tab C/Fortran API, only descriptions for the C interface are there.

I think after the most recent changes, the interface was supposed to be very 
close to C, so we just document the differences on specific pages, and put the 
general stuff here:

  https://petsc.org/release/manual/fortran/

   Thanks,

     Matt

Bruce Palmer


--
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.cse.buffalo.edu/~knepley/>


Reply via email to