AOSerializeRegister

Adds a serialization method to the application ordering package.

Synopsis


AOSerializeRegister(char *serialize_name, char *path, char *serialize_func_name,
int (*serialize_func)(MPI_Comm, AO *, 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

AOSerializeRegister() may be called multiple times to add several user-defined solvers.

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

Sample usage

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

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

    AOSetSerializeType(ao, "my_store")
or at runtime via the option
    -ao_serialize_type my_store

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

Keywords

AO, register

See Also

AOSerializeRegisterAll(), AOSerializeRegisterDestroy()

Level:advanced
Location:
src/dm/ao/interface/aoreg.c
Index of all AO routines
Table of Contents for all manual pages
Index of all manual pages