[petsc-dev] Help tracking down unexpected Fortran behavior
Jose E. Roman
jroman at dsic.upv.es
Mon Dec 6 05:22:46 CST 2021
PCSetType() has an interface in src/ksp/f90-mod/petscpc.h90 while PCFactorSetMatOrderingType() does not.
I don't know if there is a clear criterion for when to add an interface in the corresponding h90 file. One criterion is that we need a F90 interface in case one of the arguments is allowed to be NULL.
Jose
> El 6 dic 2021, a las 11:20, Patrick Sanan <patrick.sanan at gmail.com> escribió:
>
> I ran into an unexpected seg fault, which took me too long to realize was because of the old-school "you forgot the ierr" mistake! I was expecting the compiler to complain, since we've had better checking for a while. E.g. as in the attached code to reproduce, my compiler indeed errors on this
>
> call PCSetType(pc, PCLU)
>
> but not this
>
> call PCFactorSetMatOrderingType(pc, MATORDERINGEXTERNAL)
>
> I'm not yet seeing what the difference is, but there is still plenty I don't understand about how the custom fortran interfaces work. E.g. both of those functions have custom interfaces in ftn-custom directories, accepting an additional "len" argument to be used with FIXCHAR(), but I'm not sure how that argument is ultimately populated.
>
>
> <ex999f.F90>
More information about the petsc-dev
mailing list