xref: /petsc/src/dm/interface/ftn-custom/zdmf.c (revision b412c318f95038d6b0c0d53c83ad7d4018d14d81)
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
75b400853SJed Brown #define dmsetoptionsprefix_          DMSETOPTIONSPREFIX
8*b412c318SBarry Smith #define dmsetmattype_                DMSETMATTYPE
9*b412c318SBarry Smith #define dmsetvectype_                DMSETVECTYPE
109a42bb27SBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
1124e7ded0SBarry Smith #define dmview_                      dmview
125b400853SJed Brown #define dmsetoptionsprefix_          dmsetoptionsprefix
13*b412c318SBarry Smith #define dmsetmattype_                dmsetmattype
14*b412c318SBarry Smith #define dmsetvectype_                dmsetvectype
159a42bb27SBarry Smith #endif
169a42bb27SBarry Smith 
178cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmview_(DM *da,PetscViewer *vin,PetscErrorCode *ierr)
189a42bb27SBarry Smith {
199a42bb27SBarry Smith   PetscViewer v;
209a42bb27SBarry Smith   PetscPatchDefaultViewers_Fortran(vin,v);
219a42bb27SBarry Smith   *ierr = DMView(*da,v);
229a42bb27SBarry Smith }
23950540a4SJed Brown 
248cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL dmsetoptionsprefix_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len))
255b400853SJed Brown {
265b400853SJed Brown   char *t;
275b400853SJed Brown 
285b400853SJed Brown   FIXCHAR(prefix,len,t);
295b400853SJed Brown   *ierr = DMSetOptionsPrefix(*dm,t);
305b400853SJed Brown   FREECHAR(prefix,t);
315b400853SJed Brown }
32*b412c318SBarry Smith 
33*b412c318SBarry Smith PETSC_EXTERN void PETSC_STDCALL dmsetmattype_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len))
34*b412c318SBarry Smith {
35*b412c318SBarry Smith   char *t;
36*b412c318SBarry Smith 
37*b412c318SBarry Smith   FIXCHAR(prefix,len,t);
38*b412c318SBarry Smith   *ierr = DMSetMatType(*dm,t);
39*b412c318SBarry Smith   FREECHAR(prefix,t);
40*b412c318SBarry Smith }
41*b412c318SBarry Smith 
42*b412c318SBarry Smith 
43*b412c318SBarry Smith PETSC_EXTERN void PETSC_STDCALL dmsetvectype_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len))
44*b412c318SBarry Smith {
45*b412c318SBarry Smith   char *t;
46*b412c318SBarry Smith 
47*b412c318SBarry Smith   FIXCHAR(prefix,len,t);
48*b412c318SBarry Smith   *ierr = DMSetVecType(*dm,t);
49*b412c318SBarry Smith   FREECHAR(prefix,t);
50*b412c318SBarry Smith }
51