17c363081SBarry Smith #include "private/zpetsc.h" 2e54e4138SSatish Balay #include "petscksp.h" 3e54e4138SSatish Balay 4e54e4138SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS) 5e54e4138SSatish Balay #define pcbjacobigetsubksp_ PCBJACOBIGETSUBKSP 6e54e4138SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 7e54e4138SSatish Balay #define pcbjacobigetsubksp_ pcbjacobigetsubksp 8e54e4138SSatish Balay #endif 9e54e4138SSatish Balay 10e54e4138SSatish Balay EXTERN_C_BEGIN 11e54e4138SSatish Balay void PETSC_STDCALL pcbjacobigetsubksp_(PC *pc,PetscInt *n_local,PetscInt *first_local,KSP *ksp,PetscErrorCode *ierr) 12e54e4138SSatish Balay { 13e54e4138SSatish Balay KSP *tksp; 14e54e4138SSatish Balay PetscInt i,nloc; 15e54e4138SSatish Balay CHKFORTRANNULLINTEGER(n_local); 16e54e4138SSatish Balay CHKFORTRANNULLINTEGER(first_local); 17e54e4138SSatish Balay *ierr = PCBJacobiGetSubKSP(*pc,&nloc,first_local,&tksp); 18e54e4138SSatish Balay if (n_local) *n_local = nloc; 19*12c1112bSBarry Smith CHKFORTRANNULLOBJECT(ksp); 20*12c1112bSBarry Smith if (ksp) { 21e54e4138SSatish Balay for (i=0; i<nloc; i++){ 22e54e4138SSatish Balay ksp[i] = tksp[i]; 23e54e4138SSatish Balay } 24e54e4138SSatish Balay } 25*12c1112bSBarry Smith } 26e54e4138SSatish Balay 27e54e4138SSatish Balay EXTERN_C_END 28