00001 #ifndef _APS_STD_LIN_UTILS_H_ 00002 #define _APS_STD_LIN_UTILS_H_ 00003 00004 #ifndef FV_DEBUG 00005 #if defined(DEBUG) || defined(_DEBUG) 00006 #define FV_DEBUG 00007 #endif 00008 #endif 00009 00010 extern double apr_elem_calc_3D( 00011 /* returns: Jacobian determinant at a point, either for */ 00012 /* volume integration if Vec_norm==NULL, */ 00013 /* or for surface integration otherwise */ 00014 int Control, /* in: control parameter (what to compute): */ 00015 /* 1 - shape functions and values */ 00016 /* 2 - derivatives and jacobian */ 00017 /* >2 - computations on the (Control-2)-th */ 00018 /* element's face */ 00019 int Nreq, /* in: number of equations */ 00020 int Pdeg, /* in: element degree of polynomial */ 00021 int Base_type, /* in: type of basis functions: */ 00022 /* (APC_TENSOR) - tensor product */ 00023 /* (APC_COMPLETE) - complete polynomials */ 00024 double *Eta, /* in: local coordinates of the input point */ 00025 double *Node_coor, /* in: array of coordinates of vertices of element */ 00026 double *Sol_dofs, /* in: array of element' dofs */ 00027 double *Base_phi, /* out: basis functions */ 00028 double *Base_dphix, /* out: x-derivatives of basis functions */ 00029 double *Base_dphiy, /* out: y-derivatives of basis functions */ 00030 double *Base_dphiz, /* out: z-derivatives of basis functions */ 00031 double *Xcoor, /* out: global coordinates of the point*/ 00032 double *Sol, /* out: solution at the point */ 00033 double *Dsolx, /* out: derivatives of solution at the point */ 00034 double *Dsoly, /* out: derivatives of solution at the point */ 00035 double *Dsolz, /* out: derivatives of solution at the point */ 00036 double *Vec_nor /* out: outward unit vector normal to the face */ 00037 ); 00038 00039 #endif /* _APS_STD_LIN_UTILS_H_ 00040 */