00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef _mmph_intf_
00043 #define _mmph_intf_
00044
00045
00046 #ifdef __cplusplus
00047 extern "C"{
00048 #endif
00049
00050
00056
00057 #define MMPC_MAX_NUM_SUB 1024
00058 //#define MMPC_MAX_NUM_SUB 128
00060
00061
00065 extern int mmpr_init_mesh(
00066 int Control,
00067 int Mesh_id,
00068 int Nr_proc,
00069 int My_proc_id
00070 );
00071
00075 extern int mmpr_check_mesh(
00076 int Mesh_id
00077 );
00078
00079
00083 extern int mmpr_el_owner(
00086 int Mesh_id,
00087 int El
00088 );
00089
00090
00094 extern int mmpr_el_set_owner(
00095 int Mesh_id,
00096 int El,
00097 int Owner
00098 );
00099
00100
00104 extern int mmpr_fa_owner(
00107 int Mesh_id,
00108 int Fa
00109 );
00110
00114 extern int mmpr_fa_set_owner(
00115 int Mesh_id,
00116 int Fa,
00117 int Owner
00118 );
00119
00123 extern int mmpr_ed_owner(
00126 int Mesh_id,
00127 int Ed
00128 );
00129
00133 extern int mmpr_ed_set_owner(
00134 int Mesh_id,
00135 int Ed,
00136 int Owner
00137 );
00138
00139
00143 extern int mmpr_ve_owner(
00146 int Mesh_id,
00147 int Ve
00148 );
00149
00150
00154 extern int mmpr_ve_set_owner(
00155 int Mesh_id,
00156 int Ve,
00157 int Owner
00158 );
00159
00160
00164 extern int mmpr_el_id_at_owner(
00166 int Mesh_id,
00167 int El
00168 );
00169
00173 extern int mmpr_el_set_id_at_owner(
00175 int Mesh_id,
00176 int El,
00177 int Id_At_Owner
00178 );
00179
00180
00184 extern int mmpr_fa_id_at_owner(
00186 int Mesh_id,
00187 int Fa
00188 );
00189
00190
00194 extern int mmpr_fa_set_id_at_owner(
00195 int Mesh_id,
00196 int Fa,
00197 int Id_At_Owner
00198 );
00199
00200
00204 extern int mmpr_ed_id_at_owner(
00206 int Mesh_id,
00207 int Ed
00208 );
00209
00213 extern int mmpr_ed_set_id_at_owner(
00214 int Mesh_id,
00215 int Ed,
00216 int Id_At_Owner
00217 );
00218
00222 extern int mmpr_ve_id_at_owner(
00224 int Mesh_id,
00225 int Ve
00226 );
00227
00231 extern int mmpr_ve_set_id_at_owner(
00233 int Mesh_id,
00234 int Ve,
00235 int Id_At_Owner
00236 );
00237
00238
00242 extern int mmpr_create_subdomains(
00244 int Mesh_id,
00245 int Control
00246 );
00247
00251 extern int mmpr_init_ref(
00252 int Mesh_id
00253 );
00254
00259 extern int mmpr_is_ready_for_proj_dof_ref(
00260 int Mesh_id
00261 );
00262
00266 extern int mmpr_final_ref(
00267 int Mesh_id
00268 );
00269
00275 extern int mmpr_mesh_ent_ovl(
00276 int Mesh_id
00277 );
00278
00283 extern int mmpr_update_ipid(
00284 int Mesh_id
00285 );
00286
00290 extern int mmpr_free_mesh_ovl(
00291 int Mesh_id
00292 );
00293
00294
00298 extern int mmpr_balance_load(
00299 int Mesh_id
00300 );
00301
00302
00303
00304
00309 extern int mmpr_update_ref_list(
00311 const int Mesh_id,
00312 int *Nr_ref,
00313 int **List_ref
00314 );
00315
00319 extern int mmpr_n_neighbouring_procs(
00320 const int Mesh_id
00321 );
00322
00326 extern int mmpr_neighbouring_procs(
00327 const int Mesh_id,
00328 int * Neigh_proc_ids
00329
00330 );
00331
00335 extern int mmpr_ipc_faces_connected_to_proc(
00336 const int Mesh_id,
00337 const int Proc_id,
00338 int * Faces
00339 );
00340
00344 extern int mmpr_ipc_other_subdomain_neigh(const int Mesh_id,
00345 const int Fa,
00346 int *Neig_el_id_at_owner,
00347 int *Neig_el_owner
00348 );
00349
00351
00352
00353 #ifdef __cplusplus
00354 }
00355 #endif
00356
00357
00358
00359 #endif