DMClone#
Creates a DM object with the same topology as the original.
Synopsis#
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMClone(DM dm, DM *newdm)
Collective
Input Parameter#
dm - The original
DMobject
Output Parameter#
newdm - The new
DMobject
Notes#
For some DM implementations this is a shallow clone, the result of which may share (reference counted) information with its parent. For example,
DMClone() applied to a DMPLEX object will result in a new DMPLEX that shares the topology with the original DMPLEX. It does not
share the PetscSection of the original DM.
The clone is considered set up if the original has been set up.
Use DMConvert() for a general way to create new DM from a given DM
See Also#
DM Basics, DM, DMDestroy(), DMCreate(), DMSetType(), DMSetLocalSection(), DMSetGlobalSection(), DMPLEX, DMConvert()
Level#
beginner
Location#
Examples#
src/snes/tutorials/ex11.c
src/snes/tutorials/ex27.c
src/snes/tutorials/ex13.c
src/snes/tutorials/ex12.c
src/snes/tutorials/ex36.c
src/snes/tutorials/ex7.c
src/snes/tutorials/ex77.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex30.c
src/tao/tutorials/ex3.c
Implementations#
DMClone_DA() in src/dm/impls/da/dacreate.c
DMClone_Forest() in src/dm/impls/forest/forest.c
DMClone_pforest() in src/dm/impls/forest/p4est/pforest.h
DMClone_Moab() in src/dm/impls/moab/dmmoab.cxx
DMClone_Network() in src/dm/impls/network/networkcreate.c
DMClone_Plex() in src/dm/impls/plex/plexcreate.c
DMClone_Stag() in src/dm/impls/stag/stag.c
DMClone_Swarm() in src/dm/impls/swarm/swarm.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages