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 #ifndef _apph_intf_
00031 #define _apph_intf_
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00045 extern int appr_get_ent_owner(
00047 int Field_id,
00048 int Ent_type,
00049 int Ent_id
00050 );
00051
00055 extern int appr_get_ent_id_at_owner(
00057 int Field_id,
00058 int Ent_type,
00059 int Ent_id
00060 );
00061
00065 int appr_adjust_field(
00066 int Field_id
00067 );
00068
00073 extern int appr_init_exchange_tables(
00074 int Nr_proc,
00075 int My_proc_id,
00076 int Field_id,
00077 int Nreq_offset,
00078 int Nreq,
00079 int Nr_levels
00080 );
00081
00094 extern int appr_create_exchange_tables(
00096 int Table_index,
00097 int Level_id,
00098 int Nr_dof_ent,
00100 int* L_dof_ent_type,
00101 int* L_dof_ent_id,
00102 int* L_bl_nrdof,
00103 int* L_bl_posg,
00105 int* L_elem_to_bl,
00106 int* L_face_to_bl,
00107 int* L_edge_to_bl,
00108 int* L_vert_to_bl
00109 );
00110
00114 extern int appr_exchange_dofs(
00115 int Table_index,
00116 int Level_id,
00117 double* Vec_dofs
00118 );
00119
00123 extern double appr_sol_vec_norm(
00124 int Table_index,
00125 int Level_id,
00126 int Nrdof,
00127 double* Vector
00128 );
00129
00133 extern double appr_sol_sc_prod(
00135 int Table_index,
00136 int Level_id,
00137 int Nrdof,
00138 double* Vector1,
00139 double* Vector2
00140 );
00141
00142
00147 extern int appr_get_nr_dofs_owned(
00148 int Table_index
00149 );
00150
00155 extern int appr_free_exchange_tables(
00157 int Table_index
00158 );
00159
00161
00162
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166
00167 #endif