00001 #ifndef _MESH_PHP_H_ 00002 #define _MESH_PHP_H_ 00003 00004 #if defined(__cplusplus) 00005 extern "C" { 00006 #endif 00007 00008 #ifndef FV_DEBUG 00009 #if defined(DEBUG) || defined(_DEBUG) 00010 #define FV_DEBUG 00011 #endif 00012 #endif 00013 00014 00015 int apr_get_pdeg_nrdofs(int base, int pdeg); 00016 00017 double apr_elem_calc_3D_dg( 00018 /* returns: Jacobian determinant at a point, either for */ 00019 /* volume integration if Vec_norm==NULL, */ 00020 /* or for surface integration otherwise */ 00021 int Control, /* in: control parameter (what to compute): */ 00022 /* 1 - shape functions and values */ 00023 /* 2 - derivatives and jacobian */ 00024 /* >2 - computations on the (Control-2)-th */ 00025 /* element's face */ 00026 int Nreq, /* in: number of equations */ 00027 int Pdeg, /* in: element degree of polynomial */ 00028 int Base_type, /* in: type of basis functions: */ 00029 /* (APC_TENSOR) - tensor product */ 00030 /* (APC_COMPLETE) - complete polynomials */ 00031 double *Eta, /* in: local coordinates of the input point */ 00032 double *Node_coor, /* in: array of coordinates of vertices of element */ 00033 double *Sol_dofs, /* in: array of element' dofs */ 00034 double *Base_phi, /* out: basis functions */ 00035 double *Base_dphix, /* out: x-derivatives of basis functions */ 00036 double *Base_dphiy, /* out: y-derivatives of basis functions */ 00037 double *Base_dphiz, /* out: z-derivatives of basis functions */ 00038 double *Xcoor, /* out: global coordinates of the point*/ 00039 double *Sol, /* out: solution at the point */ 00040 double *Dsolx, /* out: derivatives of solution at the point */ 00041 double *Dsoly, /* out: derivatives of solution at the point */ 00042 double *Dsolz, /* out: derivatives of solution at the point */ 00043 double *Vec_nor /* out: outward unit vector normal to the face */ 00044 ); 00045 00046 double apr_elem_calc_3D_std_lin( 00047 /* returns: Jacobian determinant at a point, either for */ 00048 /* volume integration if Vec_norm==NULL, */ 00049 /* or for surface integration otherwise */ 00050 int Control, /* in: control parameter (what to compute): */ 00051 /* 1 - shape functions and values */ 00052 /* 2 - derivatives and jacobian */ 00053 /* >2 - computations on the (Control-2)-th */ 00054 /* element's face */ 00055 int Nreq, /* in: number of equations */ 00056 int Pdeg, /* in: element degree of polynomial */ 00057 int Base_type, /* in: type of basis functions: */ 00058 /* (APC_TENSOR) - tensor product */ 00059 /* (APC_COMPLETE) - complete polynomials */ 00060 double *Eta, /* in: local coordinates of the input point */ 00061 double *Node_coor, /* in: array of coordinates of vertices of element */ 00062 double *Sol_dofs, /* in: array of element' dofs */ 00063 double *Base_phi, /* out: basis functions */ 00064 double *Base_dphix, /* out: x-derivatives of basis functions */ 00065 double *Base_dphiy, /* out: y-derivatives of basis functions */ 00066 double *Base_dphiz, /* out: z-derivatives of basis functions */ 00067 double *Xcoor, /* out: global coordinates of the point*/ 00068 double *Sol, /* out: solution at the point */ 00069 double *Dsolx, /* out: derivatives of solution at the point */ 00070 double *Dsoly, /* out: derivatives of solution at the point */ 00071 double *Dsolz, /* out: derivatives of solution at the point */ 00072 double *Vec_nor /* out: outward unit vector normal to the face */ 00073 ); 00074 00075 #if defined(__cplusplus) 00076 } 00077 #endif 00078 00079 #endif /*_MESH_PHP_H_ 00080 */