[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