|
EpetraExt Development
|
00001 //------------------------------------------------------------------------- 00002 // Copyright Notice 00003 // 00004 // Copyright (c) 2000, Sandia Corporation, Albuquerque, NM. 00005 //------------------------------------------------------------------------- 00006 00007 //------------------------------------------------------------------------- 00008 // Filename : $Zoltan_MigrationFunctions.h$ 00009 // 00010 // Purpose : Static methods which are directly registered with 00011 // Zoltan. They us the static container to access 00012 // the dynamic object methods. 00013 // 00014 // Special Notes : 00015 // 00016 // Creator : Robert J. Hoekstra, Parallel Computational Sciences 00017 // 00018 // Creation Date : 08/04/2000 00019 // 00020 // Revision Information: 00021 // --------------------- 00022 // 00023 // Revision Number: $Revision$ 00024 // 00025 // Revision Date : $Date$ 00026 // 00027 // Current Owner : $Author$ 00028 //------------------------------------------------------------------------- 00029 00030 #ifndef ZOLTAN_MIGRATIONFUNCTIONS_H_ 00031 #define ZOLTAN_MIGRATIONFUNCTIONS_H_ 00032 00033 #include <EpetraExt_ConfigDefs.h> 00034 00035 #include <zoltan.h> 00036 00037 namespace Zoltan { 00038 00039 class MigrationFunctions 00040 { 00041 00042 public: 00043 00044 static int Object_Size ( void * data, 00045 int num_gid_entries, 00046 int num_lid_entries, 00047 ZOLTAN_ID_PTR global_id, 00048 ZOLTAN_ID_PTR local_id, 00049 int * ierr ); 00050 00051 static void Pre_Migrate ( void * data, 00052 int num_gid_entries, 00053 int num_lid_entries, 00054 int num_import, 00055 ZOLTAN_ID_PTR import_global_ids, 00056 ZOLTAN_ID_PTR import_local_ids, 00057 int * import_procs, 00058 int num_export, 00059 ZOLTAN_ID_PTR export_global_ids, 00060 ZOLTAN_ID_PTR export_local_ids, 00061 int * export_procs, 00062 int * ierr ); 00063 00064 static void Mid_Migrate ( void * data, 00065 int num_gid_entries, 00066 int num_lid_entries, 00067 int num_import, 00068 ZOLTAN_ID_PTR import_global_ids, 00069 ZOLTAN_ID_PTR import_local_ids, 00070 int * import_procs, 00071 int num_export, 00072 ZOLTAN_ID_PTR export_global_ids, 00073 ZOLTAN_ID_PTR export_local_ids, 00074 int * export_procs, 00075 int * ierr ); 00076 00077 static void Post_Migrate ( void * data, 00078 int num_gid_entries, 00079 int num_lid_entries, 00080 int num_import, 00081 ZOLTAN_ID_PTR import_global_ids, 00082 ZOLTAN_ID_PTR import_local_ids, 00083 int * import_procs, 00084 int num_export, 00085 ZOLTAN_ID_PTR export_global_ids, 00086 ZOLTAN_ID_PTR export_local_ids, 00087 int * export_procs, 00088 int * ierr ); 00089 00090 static void Pack_Object ( void * data, 00091 int num_gid_entries, 00092 int num_lid_entries, 00093 ZOLTAN_ID_PTR global_id, 00094 ZOLTAN_ID_PTR local_id, 00095 int destination_processor, 00096 int size, 00097 char * buffer, 00098 int * ierr ); 00099 00100 static void Unpack_Object ( void * data, 00101 int num_gid_entries, 00102 ZOLTAN_ID_PTR global_id, 00103 int size, 00104 char * buffer, 00105 int * ierr ); 00106 00107 }; 00108 00109 } //namespace Zoltan 00110 00111 #endif
1.7.4