PartitionSerializeRegister

Adds a serialization method to the partition package.

Synopsis


PartitionSerializeRegister(char *serialize_name, char *path, char *serialize_func_name,
int (*serialize_func)(MPI_Comm, Partition *, PetscViewer, PetscTruth))

Not Collective

Input Parameters

serialize_name - The name of a new user-defined serialization routine
path - The path (either absolute or relative) of the library containing this routine
serialize_func_name - The name of routine to create method context
serialize_func - The serialization routine itself

Notes

PartitionSerializeRegister() may be called multiple times to add several user-defined partitioners.

If dynamic libraries are used, then the fourth input argument (routine_create) is ignored.

Sample usage

  PartitionSerializeRegister("my_store", /home/username/my_lib/lib/libO/solaris/mylib.a, "MyStoreFunc", MyStoreFunc);

Then, your serialization can be chosen with the procedural interface via

    PartitionSetSerializeType(vec, "my_store")
or at runtime via the option
    -part_serialize_type my_store

$PETSC_ARCH and $BOPT occuring in pathname will be replaced with appropriate values.

Keywords

partition, register

See Also

PartitionSerializeRegisterAll(), PartitionSerializeRegisterDestroy()

Level:advanced
Location:
src/mesh/interface/partreg.c
Index of all Mesh routines
Table of Contents for all manual pages
Index of all manual pages