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 on dmCoarse

Input parameters#

  • dmCoarse - a DMSwarm

  • dmFine - a DMPlex

Output parameter#

  • mass - the square of the particle mass matrix

Notes#

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#

DMCreateMassMatrix()

Level#

advanced

Location#

src/dm/impls/swarm/swarm.c

Examples#

src/dm/impls/swarm/tutorials/ex1.c.html


Edit on GitLab

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