:orphan: # 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 --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/composite/pack.c) [Index of all DM routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)