1b45d2f2cSJed Brown #include <petsc-private/fortranimpl.h> 2c6db04a5SJed Brown #include <petscdm.h> 3665c2dedSJed Brown #include <petscviewer.h> 49a42bb27SBarry Smith 59a42bb27SBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 624e7ded0SBarry Smith #define dmview_ DMVIEW 7e727c939SJed Brown #define dmcreatecoloring_ DMCREATECOLORING 8950540a4SJed Brown #define dmcreatematrix_ DMCREATEMATRIX 95b400853SJed Brown #define dmsetoptionsprefix_ DMSETOPTIONSPREFIX 109a42bb27SBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 1124e7ded0SBarry Smith #define dmview_ dmview 12e727c939SJed Brown #define dmcreatecoloring_ dmcreatecoloring 13950540a4SJed Brown #define dmcreatematrix_ dmcreatematrix 145b400853SJed Brown #define dmsetoptionsprefix_ dmsetoptionsprefix 159a42bb27SBarry Smith #endif 169a42bb27SBarry Smith 17*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmcreatecoloring_(DM *dm,ISColoringType *ctype, CHAR mtype PETSC_MIXED_LEN(len),ISColoring *coloring, int *ierr PETSC_END_LEN(len)) 18d1e2c406SBarry Smith { 19d1e2c406SBarry Smith char *t; 20d1e2c406SBarry Smith 21d1e2c406SBarry Smith FIXCHAR(mtype,len,t); 22e727c939SJed Brown *ierr = DMCreateColoring(*dm,*ctype,t,coloring); 23d1e2c406SBarry Smith FREECHAR(mtype,t); 24d1e2c406SBarry Smith } 25d1e2c406SBarry Smith 26*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmview_(DM *da,PetscViewer *vin,PetscErrorCode *ierr) 279a42bb27SBarry Smith { 289a42bb27SBarry Smith PetscViewer v; 299a42bb27SBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 309a42bb27SBarry Smith *ierr = DMView(*da,v); 319a42bb27SBarry Smith } 32950540a4SJed Brown 33*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmcreatematrix_(DM *dm,CHAR mat_type PETSC_MIXED_LEN(len),Mat *J,PetscErrorCode *ierr PETSC_END_LEN(len)) 34950540a4SJed Brown { 35950540a4SJed Brown char *t; 36950540a4SJed Brown FIXCHAR(mat_type,len,t); 37950540a4SJed Brown *ierr = DMCreateMatrix(*dm,t,J); 38950540a4SJed Brown FREECHAR(mat_type,t); 39950540a4SJed Brown } 405b400853SJed Brown 41*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmsetoptionsprefix_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len)) 425b400853SJed Brown { 435b400853SJed Brown char *t; 445b400853SJed Brown 455b400853SJed Brown FIXCHAR(prefix,len,t); 465b400853SJed Brown *ierr = DMSetOptionsPrefix(*dm,t); 475b400853SJed Brown FREECHAR(prefix,t); 485b400853SJed Brown } 49