Skip to main content
`Ctrl`+`K`

# DMCompositeSetCoupling

Sets user provided routines that compute the coupling between the separate components `DM` in a `DMCOMPOSITE` to build the correct matrix nonzero structure.

## Synopsis

    #include "petscdmcomposite.h"
    PetscErrorCode DMCompositeSetCoupling(DM dm, PetscErrorCode (*FormCoupleLocations)(DM, Mat, PetscInt *, PetscInt *, PetscInt, PetscInt, PetscInt, PetscInt))

Logically Collective; No Fortran Support

## Input Parameters

- dm - the composite object

- FormCoupleLocations - routine to set the nonzero locations in the matrix

## Note

See `DMSetApplicationContext()` and `DMGetApplicationContext()` for how to get user information into this routine

## See Also

`DMCOMPOSITE`, `DM`

## Level

advanced

## Location

src/dm/impls/composite/pack.c

Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages