xref: /petsc/src/ksp/pc/impls/bjacobi/ftn-custom/zbjacobif.c (revision e54e4138ce417ce13177b1b39c01f1f2d4bc2423)
1*e54e4138SSatish Balay #include "zpetsc.h"
2*e54e4138SSatish Balay #include "petscksp.h"
3*e54e4138SSatish Balay 
4*e54e4138SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS)
5*e54e4138SSatish Balay #define pcbjacobigetsubksp_        PCBJACOBIGETSUBKSP
6*e54e4138SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
7*e54e4138SSatish Balay #define pcbjacobigetsubksp_        pcbjacobigetsubksp
8*e54e4138SSatish Balay #endif
9*e54e4138SSatish Balay 
10*e54e4138SSatish Balay EXTERN_C_BEGIN
11*e54e4138SSatish Balay void PETSC_STDCALL pcbjacobigetsubksp_(PC *pc,PetscInt *n_local,PetscInt *first_local,KSP *ksp,PetscErrorCode *ierr)
12*e54e4138SSatish Balay {
13*e54e4138SSatish Balay   KSP *tksp;
14*e54e4138SSatish Balay   PetscInt  i,nloc;
15*e54e4138SSatish Balay   CHKFORTRANNULLINTEGER(n_local);
16*e54e4138SSatish Balay   CHKFORTRANNULLINTEGER(first_local);
17*e54e4138SSatish Balay   *ierr = PCBJacobiGetSubKSP(*pc,&nloc,first_local,&tksp);
18*e54e4138SSatish Balay   if (n_local) *n_local = nloc;
19*e54e4138SSatish Balay   for (i=0; i<nloc; i++){
20*e54e4138SSatish Balay     ksp[i] = tksp[i];
21*e54e4138SSatish Balay   }
22*e54e4138SSatish Balay }
23*e54e4138SSatish Balay 
24*e54e4138SSatish Balay EXTERN_C_END
25