Skip to main content
`Ctrl`+`K`

# DMSwarmCreateMassMatrixSquare

Creates the block-diagonal of the square, M^T_p M_p, of the particle mass matrix M_p

## Synopsis

    #include "petscdmswarm.h"
    PetscErrorCode DMSwarmCreateMassMatrixSquare(DM dmCoarse, DM dmFine, Mat *mass)

Collective

## Input Parameters

- dmCoarse - a `DMSWARM`

- dmFine - a `DMPLEX`

## Output Parameter

- mass - the square of the particle mass matrix

## Note

We only compute the block diagonal since this provides a good preconditioner and is completely local. It would be possible in the future to compute the full normal equations.

## See Also

`DM`, `DMSWARM`, `DMCreateMassMatrix()`

## Level

advanced

## Location

src/dm/impls/swarm/swarm.c

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