# DMMGArray

Fortran only. This is used in the main program when doing DMMGCreate(), DMMGSetDM() etc. in the subroutines like FormFunction() one should use DMMG.

### Synopsis

    /*S
         DMMG -  Data structure to easily manage multi-level non-linear solvers on grids managed by DM

       Fortran Users: see also DMMGArray

    .seealso:  DMCompositeCreate(), DA, DMComposite, DM, DMMGCreate(), DMMGSetKSP(), DMMGSetSNES(), DMMGSetInitialGuess(),
               DMMGSetNullSpace(), DMMGSetUseGalerkin(), DMMGSetMatType()
    S*/
    typedef struct _n_DMMG* DMMG;

You can use DMMGArrayGetDMMG(DMMGArray,DMMG,ierr) to obtain the DMMG from a DMMG.

### See Also

DMCompositeCreate(), DA, DMComposite, DM, DMMGCreate(), DMMGSetKSP(), DMMGSetSNES(), DMMGSetInitialGuess(),
DMMGSetNullSpace(), DMMGSetUseGalerkin(), DMMGSetMatType()

Level:intermediate
Location:src/snes/utils/../../../include/petscdmmg.h
Index of all DA routines
Table of Contents for all manual pages
Index of all manual pages