[petsc-users] fortran interface to snes matrix-free jacobian
Barry Smith
bsmith at petsc.dev
Wed Dec 20 13:14:53 CST 2023
> On Dec 20, 2023, at 11:44 AM, Yi Hu <y.hu at mpie.de> wrote:
>
> Dear Jed,
>
> Thanks for your reply. I have an analytical one to implement.
>
> Best, Yi
>
> -----Original Message-----
> From: Jed Brown <jed at jedbrown.org>
> Sent: Wednesday, December 20, 2023 5:40 PM
> To: Yi Hu <y.hu at mpie.de>; petsc-users at mcs.anl.gov
> Subject: Re: [petsc-users] fortran interface to snes matrix-free jacobian
>
> Are you wanting an analytic matrix-free operator or one created for you based on finite differencing? If the latter, just use -snes_mf or -snes_mf_operator.
>
> https://petsc.org/release/manual/snes/#jacobian-evaluation
>
> Yi Hu <y.hu at mpie.de> writes:
>
>> Dear PETSc team,
>>
>> My solution scheme relies on a matrix-free jacobian in the SNES solver. I saw the useful C interface like MatCreateSNESMF(), DMSNESCreateJacobianMF(). I am wondering if you have the fortran equivalence?
You can use DMSNESCreateJacobianMF() (MatCreateSNESMF is not appropriate when you are providing the operation).
>>
>> I think for my problem in the main program I need to do DMDASNESsetJacobianLocal(DM, INSERT_VALUES, myJacobian, ctx, err_petsc). Then in myJacobian() subroutine I have to create the operator from DMSNESCreateJacobianMF(), and register my own MATOP_MULT from MatShellSetOperation(). Am I correct?
Not exactly. Do not use DMDASNESsetJacobianLocal() use DMSNESCreateJacobianMF() to create a Mat J where you create the SNES and use SNESSetJacobian() and pass the J matrix in along with myJacobian().
>>
>> Are these fortran subroutines available? I saw an example in ts module
>> as ex22f_mf.F90 which behaves similar as what I would like to do. Because I would like to use ngmres, I then need to stay in the SNES.
>>
>> Thanks for your help.
>>
>> Best wishes,
>> Yi
>>
>> -------------------------------------------------
>> Stay up to date and follow us on LinkedIn, Twitter and YouTube.
>>
>> Max-Planck-Institut für Eisenforschung GmbH Max-Planck-Straße 1
>> D-40237 Düsseldorf
>>
>> Handelsregister B 2533
>> Amtsgericht Düsseldorf
>>
>> Geschäftsführung
>> Prof. Dr. Gerhard Dehm
>> Prof. Dr. Jörg Neugebauer
>> Prof. Dr. Dierk Raabe
>> Dr. Kai de Weldige
>>
>> Ust.-Id.-Nr.: DE 11 93 58 514
>> Steuernummer: 105 5891 1000
>>
>>
>> Please consider that invitations and e-mails of our institute are only
>> valid if they end with …@mpie.de.
>> If you are not sure of the validity please contact rco at mpie.de
>>
>> Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails
>> aus unserem Haus nur mit der Endung …@mpie.de gültig sind.
>> In Zweifelsfällen wenden Sie sich bitte an rco at mpie.de
>> -------------------------------------------------
>
>
> -------------------------------------------------
> Stay up to date and follow us on LinkedIn, Twitter and YouTube.
>
> Max-Planck-Institut für Eisenforschung GmbH
> Max-Planck-Straße 1
> D-40237 Düsseldorf
>
> Handelsregister B 2533
> Amtsgericht Düsseldorf
>
> Geschäftsführung
> Prof. Dr. Gerhard Dehm
> Prof. Dr. Jörg Neugebauer
> Prof. Dr. Dierk Raabe
> Dr. Kai de Weldige
>
> Ust.-Id.-Nr.: DE 11 93 58 514
> Steuernummer: 105 5891 1000
>
>
> Please consider that invitations and e-mails of our institute are
> only valid if they end with …@mpie.de.
> If you are not sure of the validity please contact rco at mpie.de
>
> Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails
> aus unserem Haus nur mit der Endung …@mpie.de gültig sind.
> In Zweifelsfällen wenden Sie sich bitte an rco at mpie.de
> -------------------------------------------------
>
More information about the petsc-users
mailing list