Skip to main content
`Ctrl`+`K`

# DMSetNullSpaceConstructor

Provide a callback function which constructs the nullspace for a given field, defined with `DMAddField()`, when function spaces are joined or split, such as in `DMCreateSubDM()`

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMSetNullSpaceConstructor(DM dm, PetscInt field, PetscErrorCode (*nullsp)(DM dm, PetscInt origField, PetscInt field, MatNullSpace *nullSpace))

Logically Collective; No Fortran Support

## Input Parameters

- dm - The `DM`

- field - The field number for the nullspace

- nullsp - A callback to create the nullspace

## Calling sequence of `nullsp`

- dm - The present `DM`

- origField - The field number given above, in the original `DM`

- field - The field number in dm

- nullSpace - The nullspace for the given field

## See Also

DM Basics, `DM`, `DMAddField()`, `DMGetNullSpaceConstructor()`, `DMSetNearNullSpaceConstructor()`, `DMGetNearNullSpaceConstructor()`, `DMCreateSubDM()`, `DMCreateSuperDM()`

## Level

intermediate

## Location

src/dm/interface/dm.c

## Examples

src/ts/tutorials/ex30.c
src/snes/tutorials/ex62.c
src/snes/tutorials/ex69.c
src/snes/tutorials/ex76.c
src/ts/tutorials/ex76.c
src/ts/tutorials/ex77.c

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