![]() |
Classes | |
struct | apt_dof_ent |
struct | apt_field |
Defines | |
#define | APC_MAX_NUM_FIELD 10 |
#define | APC_MAXEQ 30 |
#define | APC_TRUE 1 |
#define | APC_FALSE 0 |
#define | ut_min(x, y) ((x)<(y)?(x):(y)) |
#define | NULL NULL |
#define | SAFE_FREE(ptr) if(ptr!=NULL) free(ptr); ptr=NULL; |
#define | ut_max(x, y) ((x)>(y)?(x):(y)) |
#define | ut_min(x, y) ((x)<(y)?(x):(y)) |
#define | ut_abs(x) ((x)<0?-(x):(x)) |
Functions | |
apt_field * | apr_select_field (int Field_id) |
void | apr_gauss_init () |
void | apr_gauss_select (int Type, int Order, int *Ng, double **Xg_p, double **Wg_p) |
int | pdr_select_el_coeff_vect (int Problem_id, int *Coeff_vect_ind) |
double * | pdr_select_el_coeff (int Problem_id, double **Mval, double **Axx, double **Axy, double **Axz, double **Ayx, double **Ayy, double **Ayz, double **Azx, double **Azy, double **Azz, double **Bx, double **By, double **Bz, double **Tx, double **Ty, double **Tz, double **Cval, double **Lval, double **Qx, double **Qy, double **Qz, double **Sval) |
int | pdr_el_coeff (int Problem_id, int Elem, int Mat_num, double Hsize, int Pdeg, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Xcoor, double *Uk_val, double *Uk_x, double *Uk_y, double *Uk_z, double *Un_val, double *Un_x, double *Un_y, double *Un_z, double *Mval, double *Axx, double *Axy, double *Axz, double *Ayx, double *Ayy, double *Ayz, double *Azx, double *Azy, double *Azz, double *Bx, double *By, double *Bz, double *Tx, double *Ty, double *Tz, double *Cval, double *Lval, double *Qx, double *Qy, double *Qz, double *Sval) |
int | apr_module_introduce (char *Approx_name) |
int | apr_init_field (char Field_type, int Control, int Mesh_id, int Nreq, int Nr_sol, int Pdeg_in, char *Filename, double(*Fun_p)(int, double *, int)) |
int | apr_write_field (int Field_id, int Nreq, int Select, double Accuracy, char *Filename) |
int | apr_check_field (int Field_id) |
int | apr_get_mesh_id (int Field_id) |
int | apr_get_mixed_second_field_id (int Field_id) |
int | apr_get_nreq (int Field_id) |
int | apr_get_mixed_nreq (int Field_id) |
int | apr_get_nr_sol (int Field_id) |
int | apr_get_base_type (int Field_id, int El_id) |
int | apr_get_ent_pdeg (int Field_id, int Ent_type, int Ent_id) |
int | apr_set_ent_pdeg (int Field_id, int Ent_type, int Ent_id, int Pdeg) |
int | apr_get_ent_numshap (int Field_id, int Ent_type, int Ent_id) |
int | apr_get_ent_nrdofs (int Field_id, int Ent_type, int Ent_id) |
int | apr_get_el_pdeg (int Field_id, int Ent_id, int *Pdeg_vec) |
int | apr_set_el_pdeg (int Field_id, int Ent_id, int *Pdeg_vec) |
int | apr_get_mixed_pdeg (int Field_id, int *Pdeg_vec) |
int | apr_get_el_geo_pdeg (int Field_id, int El_id, int *Pdeg_vec) |
int | apr_set_el_geo_pdeg (int Field_id, int El_id, int *Pdeg_vec) |
int | apr_move_node (int Field_id, int Node_id, int Node_type, double *Shift_vec) |
int | apr_node_coor (int Field_id, int Node_id, int Node_type, double *coord) |
int | apr_get_el_pdeg_numshap (int Field_id, int El_id, int *Pdeg) |
int | apr_get_el_pdeg_numshap_related_with_dof_type (int Field_id, int El_id, int Dof_type, int *Pdeg) |
int | apr_get_el_dofs (int Field_id, int El_id, int Vect_id, double *El_dofs_std) |
int | apr_get_el_geo_dofs (int Field_id, int El_id, int *GeoDofs_id, int *GeoDofs_type, double *GeoDofs) |
int | apr_get_nrdofs_glob (int Field_id) |
int | apr_read_ent_dofs (int Field_id, int Ent_type, int Ent_id, int Ent_nrdof, int Vect_id, double *Vect_dofs) |
int | apr_write_ent_dofs (int Field_id, int Ent_type, int Ent_id, int Ent_nrdof, int Vect_id, double *Vect_dofs) |
int | apr_create_ent_dofs (int Field_id, int Ent_type, int Ent_id, int Ent_nrdof, int Vect_id, double *Vect_dofs) |
int | apr_set_ini_con (int Field_id, double(*Fun_p)(int, double *, int)) |
int | apr_prepare_integration_parameters (int Field_id, int El_id, int *Geo_order, int *Num_geo_dofs, double *Geo_dofs, int *El_mate, int *Base, int *Pdeg_vec, int *Num_shap, int *Nreq, int *Num_dofs) |
int | apr_num_int_el (int Problem_id, int Field_id, int El_id, int Comp_sm, int *Pdeg_vec, double *Sol_dofs_k, double *Sol_dofs_n, int *Diagonal, double *Stiff_mat, double *Rhs_vect) |
int | apr_get_stiff_mat_data (int Field_id, int El_id, int Comp_sm, char Transpose, int Pdeg_in, int Nreq_in, int *Nr_dof_ent, int *List_dof_ent_type, int *List_dof_ent_id, int *List_dof_ent_nrdofs, int *Nrdofs_loc, double *Stiff_mat, double *Rhs_vect) |
int | apr_proj_dof_ref (int Field_id, int El, int Max_elem_id_before, int Max_face_id_before, int Max_edge_id_before, int Max_vert_id_before) |
int | apr_rewr_sol (int Field_id, int Sol_from, int Sol_to) |
int | apr_free_field (int Field_id) |
int | apr_limit_deref (int Field_id, int El_id) |
int | apr_limit_ref (int Field_id, int El_id) |
int | apr_refine (int Field_id, int El) |
int | apr_derefine (int Field_id, int El) |
double | ut_mat3_inv (double *mat, double *mat_inv) |
* local variables */ | |
void | ut_vec3_prod (double *vec_a, double *vec_b, double *vec_c) |
double | ut_vec3_mxpr (double *vec_a, double *vec_b, double *vec_c) |
double | ut_vec3_length (double *vec) |
void | ut_mat3vec (double *m1, double *v1, double *v2) |
void | ut_mat3mat (double *m1, double *m2, double *m3) |
int | ut_chk_list (int Num, int *List, int Ll) |
int | apr_create_constr_data (int Field_id) |
int | apr_get_constr_data (int Field_id, int Node_id, int Node_type, int *Constr, int *Constr_type) |
int | apr_get_el_constr_data (int Field_id, int El_id, int *Nodes, int *Nr_constr, int *Constr_id, int *Constr_type, double *Constr_val) |
int | apr_shape_fun_3D_std_lin_prism (double *Eta, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz) |
double | apr_elem_calc_3D_prism (int Control, int Nreq, int *Pdeg_vec, int Base_type, double *Eta, double *Node_coor, double *Sol_dofs, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Xcoor, double *Sol, double *Dsolx, double *Dsoly, double *Dsolz, double *Vec_nor) |
int | apr_shape_fun_3D_std_lin_tetra (double *Eta, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz) |
double | apr_elem_calc_3D_tetra (int Control, int Nreq, int *Pdeg_vec, int Base_type, double *Eta, double *Node_coor, double *Sol_dofs, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Xcoor, double *Sol, double *Dsolx, double *Dsoly, double *Dsolz, double *Vec_nor) |
int | apr_shape_fun_3D (int Base_type, int Pdeg, double *Eta, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz) |
double | apr_elem_calc_3D (int Control, int Nreq, int *Pdeg_vec, int Base_type, double *Eta, double *Node_coor, double *Sol_dofs, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Xcoor, double *Sol, double *Dsolx, double *Dsoly, double *Dsolz, double *Vec_nor) |
int | apr_set_quadr_3D (int Base_type, int *Pdeg_vec, int *Ngauss, double *Xg, double *Wg) |
int | apr_set_quadr_2D (int Fa_type, int Base_type, int *Pdeg_vec, int *Ngauss, double *Xg, double *Wg) |
int | apr_set_quadr_2D_penalty (int Fa_type, int Base_type, int *Pdeg_vec, int *Ngauss, double *Xg, double *Wg) |
int | apr_L2_proj (int Field_id, int Mode, int El, int *Pdeg_vec, double *Dofs, int *El_from, int *Pdeg_vec_from, double *Dofs_from, double(*Fun_p)(double *, double *, double *, double *)) |
int | apr_is_pt_in_t4elem (const int Mesh_id, const int El_id, const double Xglob[], double Xloc[], const double node_coor[], double D[], const double Precision) |
int | apr_sol_elem (const int Field_id, const int Elem_id, const double Local_point[3], const int Solution_number, double *Solution, double *Dxsol, double *Dysol, double *Dzsol, double Global_point_coords[3]) |
int | apr_sol_xglob (int Field_id, double *Xglob, int Nb_sol, int *El, double *Xloc, double *Sol, double *Dxsol, double *Dysol, double *Dzsol, double Close_proximity_precision, int Sol_xglob_flags) |
int | apr_get_profile (FILE *filePtr, int fieldId, int solNr, int nSol, double *pt1, double *pt2, int nPoints) |
apr_get_profile - to return values of solution at given points | |
Variables | |
int | apv_nr_fields |
int | apv_cur_field_id |
apt_field | apv_fields [APC_MAX_NUM_FIELD] |
int | apv_nr_fields = 0 |
int | apv_cur_field_id |
apt_field | apv_fields [APC_MAX_NUM_FIELD] |
#define APC_FALSE 0 |
#define APC_MAX_NUM_FIELD 10 |
#define APC_MAXEQ 30 |
#define APC_TRUE 1 |
struct AMGSUPGSolverData NULL NULL |
#define ut_abs | ( | x | ) | ((x)<0?-(x):(x)) |
#define ut_max | ( | x, | |||
y | ) | ((x)>(y)?(x):(y)) |
#define ut_min | ( | x, | |||
y | ) | ((x)<(y)?(x):(y)) |
#define ut_min | ( | x, | |||
y | ) | ((x)<(y)?(x):(y)) |
int apr_check_field | ( | int | Field_id | ) |
----------------------------------------------------------- apr_check_field - to check approximation field data structure ------------------------------------------------------------
Field_id | in: approximation field ID |
int apr_create_constr_data | ( | int | Field_id | ) |
----------------------------------------------------------- apr_create_constr_data - to create and fill constraint arrays (assuming approximation and mesh data agree) ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code in: approximation field ID |
int apr_create_ent_dofs | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id, | |||
int | Ent_nrdofs, | |||
int | Vect_id, | |||
double * | Vect_dofs | |||
) |
----------------------------------------------------------- apr_create_ent_dofs - to write a vector of dofs associated with a given mesh entity to approximation field data structure ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity | |
Ent_nrdof | in: mesh entity ID | |
Vect_id | in: number of dofs associated with the entity | |
Vect_dofs | in: vector ID in case of multiple solution vectors in: dofs to be written |
int apr_derefine | ( | int | Field_id, | |
int | El_id | |||
) |
----------------------------------------------------------- apr_derefine - to derefine an element or the whole mesh with irregularity check ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID or -2 (MMC_DO_UNI_DEREF) for uniform derefinement |
double apr_elem_calc_3D | ( | int | Control, | |
int | Nreq, | |||
int * | Pdeg_vec, | |||
int | Base_type, | |||
double * | Eta, | |||
double * | Node_coor, | |||
double * | Sol_dofs, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Xcoor, | |||
double * | Sol, | |||
double * | Dsolx, | |||
double * | Dsoly, | |||
double * | Dsolz, | |||
double * | Vec_nor | |||
) |
----------------------------------------------------------------- apr_elem_calc_3D - to perform element calculations (to provide data on coordinates, solution, shape functions, etc. for a given point inside element (given local coordinates Eta[i]); for geometrically multi-linear or linear 3D elements -------------------------------------------------------------------
Control | returns: Jacobian determinant at a point, either for volume integration if Vec_norm==NULL, or for surface integration otherwise | |
Nreq | in: control parameter (what to compute): APC_ELEM_CALC_ON_FACE(face_number) >2 - computations on the | |
Pdeg_vec | in: number of equations | |
Base_type | in: element degree of polynomial | |
Eta | in: type of basis functions: define APC_BASE_TENSOR_DG 1 define APC_BASE_COMPLETE_DG 2 define APC_BASE_PRISM_STD 3 // for prismatic elements define APC_BASE_PRISM_QUAD_STD 32 // for quadratic prismatic elements [element type 3 / approximation degree 2] define APC_BASE_TETRA_STD 4 // for tetrahedral elements define APC_BASE_TETRA_QUAD_STD 42 // for quadratic tetrahedral elements [element type 4 / approximation degree 2] | |
Node_coor | in: local coordinates of the input point | |
Sol_dofs | in: array of coordinates of vertices of element | |
Base_phi | in: array of element' dofs | |
Base_dphix | out: basis functions | |
Base_dphiy | out: x-derivatives of basis functions | |
Base_dphiz | out: y-derivatives of basis functions | |
Xcoor | out: z-derivatives of basis functions | |
Sol | out: global coordinates of the point | |
Dsolx | out: solution at the point | |
Dsoly | out: derivatives of solution at the point | |
Dsolz | out: derivatives of solution at the point | |
Vec_nor | out: derivatives of solution at the point out: outward unit vector normal to the face |
double apr_elem_calc_3D_prism | ( | int | Control, | |
int | Nreq, | |||
int * | Pdeg_vec, | |||
int | Base_type, | |||
double * | Eta, | |||
double * | Node_coor, | |||
double * | Sol_dofs, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Xcoor, | |||
double * | Sol, | |||
double * | Dsolx, | |||
double * | Dsoly, | |||
double * | Dsolz, | |||
double * | Vec_nor | |||
) |
switch(Control)
double apr_elem_calc_3D_tetra | ( | int | Control, | |
int | Nreq, | |||
int * | Pdeg_vec, | |||
int | Base_type, | |||
double * | Eta, | |||
double * | Node_coor, | |||
double * | Sol_dofs, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Xcoor, | |||
double * | Sol, | |||
double * | Dsolx, | |||
double * | Dsoly, | |||
double * | Dsolz, | |||
double * | Vec_nor | |||
) |
switch
int apr_free_field | ( | int | Field_id | ) |
----------------------------------------------------------- apr_free_field - to free approximation field data structure ------------------------------------------------------------
Field_id | in: approximation field ID |
void apr_gauss_init | ( | ) |
------------------------------------------------------------------- apr_gauss_init - to initialize Gauss-Legendre quadratures --------------------------------------------------------------------
void apr_gauss_select | ( | int | Type, | |
int | Order, | |||
int * | Ng, | |||
double ** | Xg_p, | |||
double ** | Wg_p | |||
) |
------------------------------------------------------------------- apr_gauss_select - to select the proper quadrature --------------------------------------------------------------------
int apr_get_base_type | ( | int | Field_id, | |
int | El_id | |||
) |
-------------------------------------------------------- apr_get_base_type - to return the type of basis functions for an element REMARK: type of basis functions differentiates element types as well examples for discontinuous Galerkin approximation (from include/aph_intf.h): define APC_BASE_TENSOR_DG 1 define APC_BASE_COMPLETE_DG 2 examples for standard linear approximation (from include/aph_intf.h): define APC_BASE_PRISM_STD 3 // for linear prismatic elements define APC_BASE_TETRA_STD 4 // for linear tetrahedral elements ---------------------------------------------------------
Field_id | returns: >0 - type of basis functions, <0 - error code | |
El_id | in: field ID in: element ID |
int apr_get_constr_data | ( | int | Field_id, | |
int | Node_id, | |||
int | Node_type, | |||
int * | Constr, | |||
int * | Constr_type | |||
) |
----------------------------------------------------------- apr_get_constr_data - to return constraints data for a node (dof entity) ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Node_id | in: approximation field ID | |
Node_type | in: id of node (can be vertex or edge) | |
Constr | in: type of input node APC_VERTEX or APC_EDGE | |
Constr_type | out: table of constraints data, Constr[0] - number of constraints (in linear approximation 2 - mid-edge node, 4 - mid-side node) out: table of constraints element type, Constr_type[0] - id of coefficient vector |
int apr_get_el_constr_data | ( | int | Field_id, | |
int | El_id, | |||
int * | Nodes, | |||
int * | Nr_constr, | |||
int * | Constr_id, | |||
int * | Constr_type, | |||
double * | Constr_val | |||
) |
----------------------------------------------------------- apr_get_el_constr_data - to return the number and the list of element's real nodes, with the corresponding constraint coefficients ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
El_id | in: approximation field ID | |
Nodes | in: element ID | |
Nr_constr | out: list of vertex node IDs | |
Constr_id | out: list with the numbers of constraints for each vertex | |
Constr_type | out: ID's of parent (constraining) nodes | |
Constr_val | out: Type of parent (used in quadratic approximation and above) out: the corresponding constraint coefficients |
int apr_get_el_dofs | ( | int | Field_id, | |
int | El_id, | |||
int | Vect_id, | |||
double * | El_dofs_std | |||
) |
----------------------------------------------------------- apr_get_el_dofs - to return the list of standard dofs for a given element each dof corresponds to a standard shape function ------------------------------------------------------------
Field_id | returns: >0 - the number of dofs <0 - error code | |
El_id | in: approximation field ID | |
Vect_id | in: element ID | |
El_dofs_std | in: vector ID in case of multiple solution vectors out: the list of values of element dofs |
int apr_get_el_geo_dofs | ( | int | Field_id, | |
int | El_id, | |||
int * | GeoDofs_id, | |||
int * | GeoDofs_type, | |||
double * | GeoDofs | |||
) |
----------------------------------------------------------- apr_get_el_geo_dofs - to get geometric coordinates for a given element ------------------------------------------------------------
Field_id | returns: >0 - the number of dofs <0 - error code | |
El_id | in: approximation field ID | |
GeoDofs_id | in: element ID | |
GeoDofs_type | out: list of dofs in element | |
GeoDofs | out: type of dofs [APC_VERTEX / APC_EDGE / APC_FACE] |
int apr_get_el_geo_pdeg | ( | int | Field_id, | |
int | El_id, | |||
int * | Pdeg_vec | |||
) |
----------------------------------------------------------- apr_get_el_geo_pdeg - to return the degree of approximation associated with geometric transformation of element ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code | |
El_id | in: approximation field ID | |
Pdeg_vec | in: element ID out: degree of approximation symbol |
int apr_get_el_pdeg | ( | int | Field_id, | |
int | El_id, | |||
int * | Pdeg_vec | |||
) |
----------------------------------------------------------- apr_get_el_pdeg - to return the degree of approximation vector associated with a given element ------------------------------------------------------------
Field_id | returns: >0 - success code <0 - error code | |
Ent_id | in: approximation field ID | |
Pdeg_vec | in: element ID out: degree of approximation symbol or vector |
int apr_get_el_pdeg_numshap | ( | int | Field_id, | |
int | El_id, | |||
int * | Pdeg_vec | |||
) |
-------------------------------------------------------- apr_get_el_pdeg_numshap - to return the number of shape functions (scalar DOFs) for an element given its degree of approximation symbol or vector pdeg ---------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
El_id | in: field ID | |
Pdeg | in: element ID in: degree of approximation symbol or vector |
int apr_get_el_pdeg_numshap_related_with_dof_type | ( | int | Field_id, | |
int | El_id, | |||
int | Dof_type, | |||
int * | Pdeg | |||
) |
int apr_get_ent_nrdofs | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id | |||
) |
----------------------------------------------------------- apr_get_ent_nrdofs - to return the number of dofs associated with a given mesh entity ------------------------------------------------------------
Field_id | returns: >0 - the number of dofs, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity in: mesh entity ID |
int apr_get_ent_numshap | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id | |||
) |
----------------------------------------------------------- apr_get_ent_numshap - to return the number of shape functions (vector DOFs) associated with a given mesh entity ------------------------------------------------------------
Field_id | returns: >0 - the number of dofs, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity in: mesh entity ID |
int apr_get_ent_pdeg | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id | |||
) |
----------------------------------------------------------- apr_get_ent_pdeg - to return the degree of approximation symbol associated with a given mesh entity ------------------------------------------------------------
Field_id | returns: >0 - approximation index for P1 and P2, 0 - dof entity inactive (constrained) or aproximation index in P0 <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity in: mesh entity ID |
int apr_get_mesh_id | ( | int | Field_id | ) |
----------------------------------------------------------- apr_get_mesh_id - to return the ID of the associated mesh ------------------------------------------------------------
Field_id | returns: >0 - ID of the associated mesh, <0 - error code in: approximation field ID |
int apr_get_mixed_nreq | ( | int | Field_id | ) |
int apr_get_mixed_pdeg | ( | int | Field_id, | |
int * | Pdeg_vec | |||
) |
----------------------------------------------------------- apr_get_mixed_pdeg - to get approximation pdeg associated with first or second field in mixed approximation ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code | |
Pdeg_vec | in: approximation field ID out: degree of approximation symbol |
int apr_get_mixed_second_field_id | ( | int | Field_id | ) |
----------------------------------------------------------- apr_get_mixed_second_field_id - to return ID of second field in mixed approximation ------------------------------------------------------------
Field_id | returns: >0 - ID of the associated second field id in mixed, <0 - error code in: approximation primary field ID |
int apr_get_nr_sol | ( | int | Field_id | ) |
----------------------------------------------------------- apr_get_nr_sol - to return the number of solution vectors stored ------------------------------------------------------------
Field_id | returns: >0 - number of solution vectors, <0 - error code in: approximation field ID |
int apr_get_nrdofs_glob | ( | int | Field_id | ) |
-------------------------------------------------------- apr_get_nrdofs_glob - to return a global dimension of the problem ---------------------------------------------------------
Field_id | returns: global dimension of the problem in: field ID |
int apr_get_nreq | ( | int | Field_id | ) |
----------------------------------------------------------- apr_get_nreq - to return the number of components in solution vector ------------------------------------------------------------
Field_id | returns: >0 - number of solution components, <0 - error code in: approximation field ID |
int apr_get_profile | ( | FILE * | filePtr, | |
int | fieldId, | |||
int | solNr, | |||
int | nSol, | |||
double * | pt1, | |||
double * | pt2, | |||
int | nPoints | |||
) |
apr_get_profile - to return values of solution at given points
int apr_get_stiff_mat_data | ( | int | Field_id, | |
int | El_id, | |||
int | Comp_sm, | |||
char | Transpose, | |||
int | Pdeg_in, | |||
int | Nreq_in, | |||
int * | Nr_dof_ent, | |||
int * | List_dof_ent_type, | |||
int * | List_dof_ent_id, | |||
int * | List_dof_ent_nrdofs, | |||
int * | Nrdofs_loc, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect | |||
) |
----------------------------------------------------------- apr_get_stiff_mat_data - to return data on dof entities for an element and to compute or rewrite element's stiffness matrix and RHSV ------------------------------------------------------------
El_id | in: approximation field ID | |
Comp_sm | in: unique identifier of the element | |
Transpose | in: indicator for the scope of computations: APC_NO_COMP - do not compute anything APC_COMP_SM - compute entries to stiff matrix only APC_COMP_RHS - compute entries to rhs vector only APC_COMP_BOTH - compute entries for sm and rhsv APC_REWR_SM - rewrite only entries to stiff matrix only APC_REWR_RHS - rewrite only entries to rhs vector only APC_REWR_BOTH - rewrite only entries for sm and rhsv | |
Pdeg_in | in: perform transposition while rewriting 'y' or 'Y' - yes, otherwise - no | |
Nreq_in | in: enforced degree of polynomial (if > 0 ) | |
Nr_dof_ent | in: enforced nreq (if > 0 ) | |
List_dof_ent_type | in: size of arrays, out: no of filled entries, i.e. number of mesh entities with which dofs and stiffness matrix blocks are associated | |
List_dof_ent_id | out: list of no of dofs for 'dof' entity | |
List_dof_ent_nrdofs | out: list of no of dofs for 'dof' entity | |
Nrdofs_loc | out: list of no of dofs for 'dof' entity | |
Stiff_mat | in(optional): size of Stiff_mat and Rhs_vect out(optional): actual number of dofs per integration entity | |
Rhs_vect | out(optional): stiffness matrix stored columnwise out(optional): rhs vector |
int apr_init_field | ( | char | Field_type, | |
int | Control, | |||
int | Mesh_id, | |||
int | Nreq, | |||
int | Nr_sol, | |||
int | Pdeg_in, | |||
char * | Filename, | |||
double(*)(int, double *, int) | Fun_p | |||
) |
----------------------------------------------------------- apr_init_field - to initiate new approximation field and read its control parameters ------------------------------------------------------------
Field_type | returns: >0 - field ID, <0 - error code | |
Control | options: s - standard c - discontinuous with complete basis t - discontinuous with tensor product basis | |
Mesh_id | in: control variable: APC_INIT - to initialize the field to zero APC_READ - to read field values from the file APC_INIT - to initialize the field using function provided by the problem dependent module | |
Nreq | in: ID of the corresponding mesh | |
Nr_sol | in: number of equations - solution vector components | |
Pdeg_in | in: number of solution vectors for each dof entity | |
Filename | in: degree of approximating polynomial and geometry in format [psg] p - primary field degree / s - secondary field degree for mixe default 0 / g - geometry | |
Fun_p | in: name of the file to read approximation data pointer to function that provides problem dependent initial condition data |
int apr_is_pt_in_t4elem | ( | const int | Mesh_id, | |
const int | El_id, | |||
const double | Xglob[], | |||
double | Xloc[], | |||
const double | node_coor[], | |||
double | D[], | |||
const double | Precision | |||
) |
int apr_L2_proj | ( | int | Field_id, | |
int | Mode, | |||
int | El, | |||
int * | Pdeg_vec, | |||
double * | Dofs, | |||
int * | El_from, | |||
int * | Pdeg_vec_from, | |||
double * | Dofs_from, | |||
double(*)(double *, double *, double *, double *) | Fun_p | |||
) |
-------------------------------------------------------- apr_L2_proj - to L2 project a function onto an element ---------------------------------------------------------
Field_id | returns: >0 - success, <=0 - failure | |
Mode | in: field ID | |
El | in: mode of operation <-1 - projection from ancestor to father the value is the number of ancestors -1 - projection from father to son >0 - projection of function, the value is a flag for routine returning function value at point | |
Pdeg_vec | in: element number | |
Dofs | in: element degree of approximation | |
El_from | out: workspace for degress of freedom of El NULL - write to data structure | |
Pdeg_vec_from | in: list of elements to provide function | |
Dofs_from | in: degree of polynomial for each El_from if element Pdeg is a vector - its components must be suitably placed in Pdeg_vec_from | |
Fun_p | in: Dofs of El_from or... in: pointer to function with field values and its derivatives |
int apr_limit_deref | ( | int | Field_id, | |
int | El_id | |||
) |
----------------------------------------------------------- apr_limit_deref - to return whether derefinement is allowed or not the routine does not use approximation data structures but the result depends on the approximation method ------------------------------------------------------------
El_id | in: approximation field ID in: unique identifier of the element |
int apr_limit_ref | ( | int | Field_id, | |
int | El_id | |||
) |
----------------------------------------------------------- apr_limit_ref - to return whether refinement is allowed or not the routine does not use approximation data structures but the result depends on the approximation method ------------------------------------------------------------
El_id | in: approximation field ID in: unique identifier of the element |
int apr_module_introduce | ( | char * | Approx_name | ) |
----------------------------------------------------------- apr_module_introduce - to return the approximation method's name ------------------------------------------------------------
Approx_name | returns: >=0 - success code, <0 - error code out: the name of the approximation method |
int apr_move_node | ( | int | Field_id, | |
int | Node_id, | |||
int | Node_type, | |||
double * | Shift_vec | |||
) |
----------------------------------------------------------- apr_move_node - to move real geometric node by vector, node is related to vertex / edge or face ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code |
int apr_node_coor | ( | int | Field_id, | |
int | Node_id, | |||
int | Node_type, | |||
double * | coord | |||
) |
----------------------------------------------------------- apr_node_coor - to return node cordinates related to vertices / edges or faces ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code |
int apr_num_int_el | ( | int | Problem_id, | |
int | Field_id, | |||
int | El_id, | |||
int | Comp_sm, | |||
int * | Pdeg_vec, | |||
double * | Sol_dofs_k, | |||
double * | Sol_dofs_n, | |||
int * | diagonal, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect | |||
) |
----------------------------------------------------------- apr_num_int_el - to perform numerical integration for an element ------------------------------------------------------------
!!!!! OLD OBSOLETE VERSION !!!!!!
!!!!! OLD OBSOLETE VERSION !!!!!!
----------------------------------------------------------------------!
--------------------- LOOP OVER GAUSS POINTS -------------------------!
----------------------------------------------------------------------!
El_id | in: approximation field ID | |
Comp_sm | in: unique identifier of the element | |
Pdeg_vec | in: indicator for the scope of computations: APC_NO_COMP - do not compute anything APC_COMP_SM - compute entries to stiff matrix only APC_COMP_RHS - compute entries to rhs vector only APC_COMP_BOTH - compute entries for sm and rhsv | |
Sol_dofs_k | in: enforced degree of polynomial (if !=NULL ) | |
Sol_dofs_n | in: solution dofs from previous iteration (for nonlinear problems) | |
Diagonal | in: solution dofs from previous time step (for nonlinear problems) | |
Stiff_mat | array of indicators whether coefficient matrices are diagonal | |
Rhs_vect | out: stiffness matrix stored columnwise out: rhs vector |
int apr_prepare_integration_parameters | ( | int | Field_id, | |
int | El_id, | |||
int * | Geo_order, | |||
int * | Num_geo_dofs, | |||
double * | Geo_dofs, | |||
int * | El_mate, | |||
int * | Base, | |||
int * | Pdeg_vec, | |||
int * | Num_shap, | |||
int * | Nreq, | |||
int * | Num_dofs | |||
) |
----------------------------------------------------------- apr_prepare_integration_parameters - used e.g. by apr_num_int_el ------------------------------------------------------------
El_id | in: approximation field ID | |
Geo_order | in: element ID | |
Num_geo_dofs | out: geometrical order of approximation | |
Geo_dofs | out: number of geometrical degrees of freedom | |
El_mate | out: geometrical degrees of freedom | |
Base | out: material index (in materials database) | |
Pdeg_vec | out: type of basis functions | |
Num_shap | out: degree of approximation symbol or vector | |
Nreq | out: number of shape functions | |
Num_dofs | out: number of components for unknowns out: number of scalar dofs (num_dofs = nreq*num_shap) |
int apr_proj_dof_ref | ( | int | Field_id, | |
int | El, | |||
int | Max_elem_id, | |||
int | Max_face_id, | |||
int | Max_edge_id, | |||
int | Max_vert_id | |||
) |
----------------------------------------------------------- apr_proj_dof_ref - to rewrite dofs after modifying the mesh ------------------------------------------------------------
El | in: approximation field ID | |
Max_elem_id_before | in: >0 - rewrite after one [de]refinement of el <=0 - rewrite after massive [de]refinements | |
Max_face_id_before | in: maximal element (face, etc.) id | |
Max_edge_id_before | before and after refinements |
int apr_read_ent_dofs | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id, | |||
int | Ent_nrdofs, | |||
int | Vect_id, | |||
double * | Vect_dofs | |||
) |
----------------------------------------------------------- apr_read_ent_dofs - to read a vector of dofs associated with a given mesh entity from approximation field data structure ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity | |
Ent_nrdof | in: mesh entity ID | |
Vect_id | in: number of dofs associated with the entity | |
Vect_dofs | in: vector ID in case of multiple solution vectors out: dofs read from data structure |
int apr_refine | ( | int | Field_id, | |
int | El_id | |||
) |
----------------------------------------------------------- apr_refine - to refine an element or the whole mesh checking mesh irregularity ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
El | in: field ID in: element ID or -1 (MMC_DO_UNI_REF) for uniform refinement |
int apr_rewr_sol | ( | int | Field_id, | |
int | Sol_from, | |||
int | Sol_to | |||
) |
----------------------------------------------------------- apr_rewr_sol - to rewrite solution from one vector to another ------------------------------------------------------------
Sol_from | in: data structure to be used | |
Sol_to | in: ID of vector to read solution from in: ID of vector to write solution to |
apt_field* apr_select_field | ( | int | Field_id | ) |
-------------------------------------------------------- apr_select_field - to select the proper field ---------------------------------------------------------
int apr_set_el_geo_pdeg | ( | int | Field_id, | |
int | El_id, | |||
int * | Pdeg_vec | |||
) |
----------------------------------------------------------- apr_set_el_geo_pdeg - to set the degree of approximation associated with geometric transformation of element ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code | |
El_id | in: approximation field ID | |
Pdeg_vec | in: element ID in: degree of approximation symbol |
int apr_set_el_pdeg | ( | int | Field_id, | |
int | El_id, | |||
int * | Pdeg | |||
) |
----------------------------------------------------------- apr_set_el_pdeg - to set the degree of approximation vector associated with a given element ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code | |
Ent_id | in: approximation field ID | |
Pdeg_vec | in: element ID out: degree of approximation symbol |
int apr_set_ent_pdeg | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id, | |||
int | Pdeg | |||
) |
----------------------------------------------------------- apr_set_ent_pdeg - to set the degree of approximation index associated with a given mesh entity ------------------------------------------------------------
Field_id | returns: >0 - success code, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity | |
Pdeg | in: mesh entity ID in: degree of approximation |
int apr_set_ini_con | ( | int | Field_id, | |
double(*)(int, double *, int) | Fun_p | |||
) |
----------------------------------------------------------- apr_set_ini_con - to set an initial condition ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Fun_p | in: approximation field ID pointer to function that provides problem dependent initial condition data |
int apr_set_quadr_2D | ( | int | Fa_type, | |
int | Base_type, | |||
int * | Pdeg_vec, | |||
int * | Ngauss, | |||
double * | Xg, | |||
double * | Wg | |||
) |
-------------------------------------------------------- apr_set_quadr_2D - to prepare quadrature data for a given face ---------------------------------------------------------
Base_type | in: type of a face | |
Pdeg_vec | in: type of basis functions: 1 (APC_TENSOR) - tensor product 2 (APC_COMPLETE) - complete polynomials | |
Ngauss | in: element degree of polynomial | |
Xg | out: number of gaussian points | |
Wg | out: coordinates of gaussian points out: weights associated with points |
int apr_set_quadr_2D_penalty | ( | int | Fa_type, | |
int | Base_type, | |||
int * | Pdeg_vec, | |||
int * | Ngauss, | |||
double * | Xg, | |||
double * | Wg | |||
) |
-------------------------------------------------------- apr_set_quadr_2D_penalty - to prepare penalty quadrature data for a given face ---------------------------------------------------------
Base_type | in: type of a face | |
Pdeg_vec | in: type of basis functions: (APC_TENSOR) - tensor product (APC_COMPLETE) - complete polynomials | |
Ngauss | in: element degree of polynomial | |
Xg | out: number of gaussian points | |
Wg | out: coordinates of gaussian points out: weights associated with points |
int apr_set_quadr_3D | ( | int | Base_type, | |
int * | Pdeg_vec, | |||
int * | Ngauss, | |||
double * | Xg, | |||
double * | Wg | |||
) |
-------------------------------------------------------- apr_set_quadr_3D - to prepare quadrature data for a given element ---------------------------------------------------------
Pdeg_vec | in: type of basis functions: 1 (APC_TENSOR) - tensor product 2 (APC_COMPLETE) - complete polynomials | |
Ngauss | in: element degree of polynomial | |
Xg | out: number of gaussian points | |
Wg | out: coordinates of gaussian points out: weights associated with points |
int apr_shape_fun_3D | ( | int | Base_type, | |
int | Pdeg, | |||
double * | Eta, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz | |||
) |
-------------------------------------------------------- apr_shape_fun_3D - to compute values of shape functions and their local derivatives at a point within the master 3D element ----------------------------------------------------------
Base_type | returns: the number of shape functions (<=0 - failure) | |
Pdeg | in: type of basis functions: REMARK: type of basis functions differentiates element types as well define APC_BASE_TENSOR_DG 1 - tensor product for prismatic elements and DG define APC_BASE_COMPLETE_DG 2 - complete polynomials for prismatic elements and DG define APC_BASE_PRISM_STD 3 // for linear prismatic elements define APC_BASE_TETRA_STD 4 // for linear tetrahedral elements | |
Eta | in: degree of polynomial - can be either | |
Base_phi | in: local coord of the considered point | |
Base_dphix | out: basis functions | |
Base_dphiy | out: x derivative of basis functions | |
Base_dphiz | out: y derivative of basis functions out: z derivative of basis functions |
int apr_shape_fun_3D_std_lin_prism | ( | double * | Eta, | |
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz | |||
) |
int apr_shape_fun_3D_std_lin_tetra | ( | double * | Eta, | |
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz | |||
) |
int apr_sol_elem | ( | const int | Field_id, | |
const int | Elem_id, | |||
const double | Local_point[3], | |||
const int | Solution_number, | |||
double * | Solution, | |||
double * | Dxsol, | |||
double * | Dysol, | |||
double * | Dzsol, | |||
double | Global_point_coords[3] | |||
) |
int apr_sol_xglob | ( | int | Field_id, | |
double * | Xglob, | |||
int | Nb_sol, | |||
int * | El, | |||
double * | Xloc, | |||
double * | Sol, | |||
double * | Dxsol, | |||
double * | Dysol, | |||
double * | Dzsol, | |||
double | Close_proximity_precision, | |||
int | Sol_xglob_flags | |||
) |
-------------------------------------------------------- apr_sol_xglob - to return the solution at a point with global coordinates specified. The procedure finds, for a given global point, the respective local coordinates within the proper initial mesh element, than computes corresponding local coordinates within an active ancestor of the initial element and finally finds the value of solution. There may be several initial mesh elements, several ancestors and several values due to the discontinuity of approximate solution. ---------------------------------------------------------
Field_id | returns: >0 - success, <=0 - failure | |
Xglob | in: field ID | |
Nb_sol | in: global coordinates of a point | |
El | in: which solution to take: 1 - sol_1, 2 - sol_2 | |
Xloc | out: list of element numbers, El[0] - number of elements on the list | |
Sol | out: list of local coordinates within elements | |
Dxsol | out: list of solutions at the point | |
Dysol | out: list of derivatives wrt x of solution | |
Dzsol | out: list of derivatives wrt y of solution | |
Close_proximity_precision | out: list of derivatives wrt z of solution |
int apr_write_ent_dofs | ( | int | Field_id, | |
int | Ent_type, | |||
int | Ent_id, | |||
int | Ent_nrdofs, | |||
int | Vect_id, | |||
double * | Vect_dofs | |||
) |
----------------------------------------------------------- apr_write_ent_dofs - to write a vector of dofs associated with a given mesh entity to approximation field data structure ------------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Ent_type | in: approximation field ID | |
Ent_id | in: type of mesh entity | |
Ent_nrdof | in: mesh entity ID | |
Vect_id | in: number of dofs associated with the entity | |
Vect_dofs | in: vector ID in case of multiple solution vectors |
int apr_write_field | ( | int | Field_id, | |
int | Nreq, | |||
int | Select, | |||
double | Accuracy, | |||
char * | Filename | |||
) |
-------------------------------------------------------- apr_write_field - to dump-out field data in the standard MOD_FEM format ---------------------------------------------------------
Field_id | returns: >=0 - success code, <0 - error code | |
Nreq | in: field ID | |
Select | in: number of equations (scalar dofs) | |
Accuracy | in: parameter to select written vectors | |
Filename | in: parameter specyfying accuracy (put 0 for full accuracy in "%g" format) in: name of the file to write field data |
int pdr_el_coeff | ( | int | Problem_id, | |
int | Elem, | |||
int | Mat_num, | |||
double | Hsize, | |||
int | Pdeg, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Xcoor, | |||
double * | Uk_val, | |||
double * | Uk_x, | |||
double * | Uk_y, | |||
double * | Uk_z, | |||
double * | Un_val, | |||
double * | Un_x, | |||
double * | Un_y, | |||
double * | Un_z, | |||
double * | Mval, | |||
double * | Axx, | |||
double * | Axy, | |||
double * | Axz, | |||
double * | Ayx, | |||
double * | Ayy, | |||
double * | Ayz, | |||
double * | Azx, | |||
double * | Azy, | |||
double * | Azz, | |||
double * | Bx, | |||
double * | By, | |||
double * | Bz, | |||
double * | Tx, | |||
double * | Ty, | |||
double * | Tz, | |||
double * | Cval, | |||
double * | Lval, | |||
double * | Qx, | |||
double * | Qy, | |||
double * | Qz, | |||
double * | Sval | |||
) |
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
---- CALCULATE FRICTIONAL FORCE IN THE MUSHY ZONE AT GAUSS POINT -----!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
---------------------- CALCULATE TOTAL SOURCE TERMS ------------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
double* pdr_select_el_coeff | ( | int | Problem_id, | |
double ** | Mval, | |||
double ** | Axx, | |||
double ** | Axy, | |||
double ** | Axz, | |||
double ** | Ayx, | |||
double ** | Ayy, | |||
double ** | Ayz, | |||
double ** | Azx, | |||
double ** | Azy, | |||
double ** | Azz, | |||
double ** | Bx, | |||
double ** | By, | |||
double ** | Bz, | |||
double ** | Tx, | |||
double ** | Ty, | |||
double ** | Tz, | |||
double ** | Cval, | |||
double ** | Lval, | |||
double ** | Qx, | |||
double ** | Qy, | |||
double ** | Qz, | |||
double ** | Sval | |||
) |
!!!!! OLD OBSOLETE VERSION !!!!!!
int pdr_select_el_coeff_vect | ( | int | Problem_id, | |
int * | Coeff_vect_ind | |||
) |
int ut_chk_list | ( | int | Num, | |
int * | List, | |||
int | Ll | |||
) |
double ut_mat3_inv | ( | double * | mat, | |
double * | mat_inv | |||
) |
* local variables */
-------------------------------------------------------- ut_mat3_inv - to invert a 3x3 matrix (stored as a vector!) ---------------------------------------------------------
-------------------------------------------------------- ut_mat3_inv - to invert a 3x3 matrix (stored as a vector!) ---------------------------------------------------------
*++++++++++++++++ executable statements ++++++++++++++++*/ *kbw *kew*/ * set the total number of Gauss points */ * fill the arrays of Gauss points and Gauss coefficients */ * we correct weights for 2D integration on triangles */ * local variables */ *++++++++++++++++ executable statements ++++++++++++++++*/ * fill the arrays of Gauss points and Gauss coefficients */ * we correct weights for 2D integration on triangles */ * pointer to field structure */ * local variables */ * auxiliary variables */ * constatnts */ *++++++++++++++++ executable statements ++++++++++++++++*/ * get formulation parameters */ * find number of element shape functions and scalar dofs */ * initialize the matrices to zero */ * get the coordinates of the nodes of El in the right order */ * prepare data for gaussian integration */ *kbw *kew*/ * at the gauss point, compute basis functions, determinant etc*/ *kbw *kew*/ * get value of projected function at integration point */ * we assume all elements are of the same type and have the same * initiate counter for Dofs */ * for each element on a list */ * find local coordinates within the element */ *kbw *kew*/ * find value of function at integration point */ * update counter for dofs */ *kbw *kew*/ * mass matrix */ * right hand side vector */ *kbw * solve the local problem */ *kbw * rewrite solution */ * to global data structure */ * to vector Dofs */ * check for Mode = -1 */ * in a loop over integration points */ * at a gauss point compute solution etc*/ * get solution in element_from */ * find local coordinates within the element */ * find value of function at integration point */ *kbw * pointer to field structure */ * local variables */ * auxiliary variables */ *++++++++++++++++ executable statements ++++++++++++++++*/ * select the proper approximation field */ * get the corresponding mesh ID */ * find generation levels for both elements */ * starting with the younger element */ * in a loop over generations */ * initialize for further generations */ * find father */ * check family informarion */ * check which son are you */ *kbw *kew*/ * find transformation coefficients to father element coordinates */ * if final element is identical with one sent */ *kbw * how close to the boundary is on the boundary */ * data for reference points for three dimensional prismatic element */ *++++++++++++++++ executable statements ++++++++++++++++*/ * get necessary mesh parameters */ * get formulation parameters */ * prepare the matrix for finding coefficients of linear transformation */ * loop over all initial mesh elements */ * get the coordinates of element nodes in the right order */ *kbw *kb!!! * find coefficients of the transformation by solving a system of *kbw *kbw *kbw *kew*/ * solve the local problem */ *kbw *kew*/ *kbw *kew*/ * checking remaining element vertices to confirm the transformation *kbw *kew*/ *checking*/ *kbw *kew*/ * if global point within initial mesh element */ *kbw *kew*/ *kbw *kew*/ *find proper son and its local coordinates*/ *kbw *kew*/ * found active element with global coordinates Xglob */ *kbw *kew*/ * if solution required */ * find degree of polynomial and number of element scalar dofs */ * get the coordinates of the nodes of El in the right order */ * get the most recent solution degrees of freedom */ * find value of solution at a point */ * find value of solution at a point */ *kbw *kew*/ *checking*/
void ut_mat3mat | ( | double * | m1, | |
double * | m2, | |||
double * | m3 | |||
) |
void ut_mat3vec | ( | double * | m1, | |
double * | v1, | |||
double * | v2 | |||
) |
double ut_vec3_length | ( | double * | vec | ) |
double ut_vec3_mxpr | ( | double * | vec_a, | |
double * | vec_b, | |||
double * | vec_c | |||
) |
void ut_vec3_prod | ( | double * | vec_a, | |
double * | vec_b, | |||
double * | vec_c | |||
) |
int apv_cur_field_id |
int apv_cur_field_id |
apt_field apv_fields[APC_MAX_NUM_FIELD] |
apt_field apv_fields[APC_MAX_NUM_FIELD] |
int apv_nr_fields = 0 |
int apv_nr_fields |