![]() |
Modules | |
Hybrid Mesh Module | |
Defines | |
#define | MMC_MAXELFAC 5 |
#define | MMC_MAXFAVNO 4 |
#define | MMC_MAXELVNO 6 |
#define | MMC_MAXELSONS 8 |
#define | MMC_MAXELEDGES 9 |
Enumerations | |
enum | mmt_file_type { MMC_MOD_FEM_MESH_DATA = 0, MMC_MOD_FEM_PRISM_DATA = 1, MMC_MOD_FEM_TETRA_DATA = 2, MMC_MOD_FEM_HYBRID_DATA = 3, MMC_GRADMESH_DATA = 10, MMC_HP_FEM_MESH_DATA = 1, MMC_NASTRAN_DATA = (int)'n', MMC_NASTRAN_FREE_DATA = MMC_NASTRAN_DATA, MMC_NASTRAN_SHORT_DATA = (int)'s', MMC_NASTRAN_LONG_DATA = (int)'l', MMC_BINARY_DATA = (int)'b', MMC_BOUND_VERTS_DATA = (int)'m', MMC_IN_ANSYS_DATA = (int)'i', MMC_PARAVIEW_VTK_DATA = (int)'v', MMC_MSH_DATA = (int)'f', MMC_MAX_FILE_TYPE = 126 } |
enum | mmt_mesh_entity { MMC_NODE = 0, MMC_EDGE = 1, MMC_FACE = 2, MMC_ELEMENT = 3, MMC_ALL_N_TYPES } |
enum | mmt_mesh_entity_types { MMC_QUAD = 4, MMC_TRIA = 3, MMC_TETRA = 7, MMC_PRISM = 5, MMC_BRICK = 6, MMC_ENTITY_UNKNOWN = -1 } |
Functions | |
int | mmr_module_introduce (char *Mesh_name) |
void * | mmr_module_internals (int Mesh_id) |
int | mmr_init_mesh (int Control, char *Filename, FILE *interactive_output) |
int | mmr_init_mesh2 (FILE *Interactive_output, const int N_nodes, const int N_edges, const int N_faces, const int N_elems) |
int | mmr_export_mesh (int Mesh_id, int Control, char *Filename) |
int | mmr_test_mesh (int Mesh_id) |
int | mmr_mesh_i_params (int Mesh_id, int Num) |
int | mmr_get_nr_elem (int Mesh_id) |
int | mmr_get_max_elem_id (int Mesh_id) |
int | mmr_get_next_act_elem (int Mesh_id, int Nel) |
int | mmr_get_next_elem_all (int Mesh_id, int Nel) |
int | mmr_get_nr_face (int Mesh_id) |
int | mmr_get_max_face_id (int Mesh_id) |
int | mmr_get_next_act_face (int Mesh_id, int Nfa) |
int | mmr_get_next_face_all (int Mesh_id, int Nfa) |
int | mmr_get_nr_edge (int Mesh_id) |
int | mmr_get_max_edge_id (int Mesh_id) |
int | mmr_get_next_edge_all (int Mesh_id, int Ned) |
int | mmr_get_nr_node (int Mesh_id) |
int | mmr_get_max_node_id (int Mesh_id) |
int | mmr_get_next_node_all (int Mesh_id, int Nno) |
int | mmr_get_max_gen (int Mesh_id) |
int | mmr_set_max_gen (int Mesh_id, int Max_gen) |
int | mmr_get_max_gen_diff (int Mesh_id) |
int | mmr_set_max_gen_diff (int Mesh_id, int Max_gen_diff) |
int | mmr_init_ref (int Mesh_id) |
int | mmr_refine_el (int Mesh_id, int El) |
int | mmr_derefine_el (int Mesh_id, int El) |
int | mmr_refine_mesh (int Mesh_id) |
int | mmr_derefine_mesh (int Mesh_id) |
int | mmr_is_ready_for_proj_dof_ref (int Mesh_id) |
int | mmr_r_refine (int Mesh_id, int Bc, void(*reallocation_func)(double *x, double *y, double *z)) |
int | mmr_gen_boundary_layer (int Mesh_id, int Bc, int thicknessProc, int noLayers, int distribuiton, double *ignoreVect) |
int | mmr_final_ref (int Mesh_id) |
int | mmr_free_mesh (int Mesh_id) |
int | mmr_elem_structure (int Mesh_id, int El, int *Elem_struct) |
int | mmr_el_status (int Mesh_id, int El) |
int | mmr_el_type (int Mesh_id, int El) |
int | mmr_el_groupID (int Mesh_id, int El) |
Replaces old mmr_el_mat() routine. Returns ID of group for given element number. In order to get the material number, pass obtained groupID into utr_mat_get_matID. In order to get the block number, pass obtained groupID into utr_mat_get_blockID . | |
int | mmr_el_set_groupID (int Mesh_id, int El, int Group_id) |
Replaces old mmr_el_set_mat() routine. Assigns given element for group with given ID. Note, that this can effectively change element material number ( utr_mat_get_matID ), element block assignment ( utr_mat_get_blockID ), and is some circumstances also affects boundary conditions definitions ( utr_mesh_insert_BC_contact ). | |
int | mmr_el_type_ref (int Mesh_id, int El) |
int | mmr_el_faces (int Mesh_id, int El, int *Faces, int *Orient) |
int | mmr_el_node_coor (int Mesh_id, int El, int *Nodes, double *Node_coor) |
int | mmr_el_edges (int Mesh_id, int El, int *Edges) |
int | mmr_el_fam (int Mesh_id, int El, int *Elsons, int *Type) |
int | mmr_el_fam_all (int Mesh_id, int El, int *Elsonscd) |
int | mmr_el_gen (int Mesh_id, int El) |
int | mmr_el_ancestor (int Mesh_id, int El, int Ilev) |
double | mmr_el_hsize (int Mesh_id, int El, double *Size_x, double *Size_y, double *Size_z) |
int | mmr_el_eq_neig (int Mesh_id, int El, int *Neig, int *Neig_sides) |
int | mmr_face_structure (int Mesh_id, int Fa, int *Face_struct) |
int | mmr_fa_status (int Mesh_id, int Fa) |
int | mmr_fa_type (int Mesh_id, int Fa) |
int | mmr_fa_bc (int Mesh_id, int Fa) |
int | mmr_fa_set_bc (int Mesh_id, int Fa, int Bc_num) |
int | mmr_fa_sub_bnd (int Mesh_id, int Face_id) |
int | mmr_fa_set_sub_bnd (int Mesh_id, int Face_id, int Side_id) |
int | mmr_fa_edges (int Mesh_id, int Fa, int *Fa_edges, int *Ed_orient) |
void | mmr_fa_eq_neig (int Mesh_id, int Fa, int *Fa_neig, int *Neig_sides, int *Node_shift) |
void | mmr_fa_neig (int Mesh_id, int Fa, int *Fa_neig, int *Neig_sides, int *Node_shift, int *Diff_gen, double *Acoeff, double *Bcoeff) |
int | mmr_fa_fam (int Mesh_id, int Fa, int *Fasons, int *Node_mid) |
int | mmr_fa_node_coor (int Mesh_id, int Fa, int *Nodes, double *Node_coor) |
int | mmr_el_fa_nodes (int Mesh_id, int El, int Fa, int *Fa_nodes) |
void | mmr_fa_elem_coor (int Mesh_id, double *Xloc, int *Fa_neig, int *Neig_sides, int Node_shift, double *Acoeff, double *Bcoeff, double *Xneig) |
void | mmr_fa_area (int Mesh_id, int Fa, double *Area, double *Vec_norm) |
int | mmr_edge_status (int Mesh_id, int Ed) |
int | mmr_edge_nodes (int Mesh_id, int Ed, int *Edge_nodes) |
int | mmr_edge_elems (int Mesh_id, int Ed, int *Edge_elems) |
int | mmr_create_edge_elems (int Mesh_id, int Max_edge_id) |
int | mmr_edge_sons (int Mesh_id, int Ed, int *Edge_sons, int *Edge_mid_node) |
int | mmr_edge_structure (int Mesh_id, int Ed, int *Edge_struct) |
int | mmr_set_edge_type (int Mesh_id, int Edge_id, int Type) |
int | mmr_set_edge_fam (int Mesh_id, int Edge_id, int Son1, int Son2) |
int | mmr_set_face_fam (int Mesh_id, int Face_id, int *Sons) |
int | mmr_set_face_neig (int Mesh_id, int Face_id, int Neig1, int Neig2, int Neig1Type, int Neig2Type) |
int | mmr_set_elem_fath (int Mesh_id, int Elem_id, int Fath) |
int | mmr_set_elem_fam (int Mesh_id, int Elem_id, int Fath, int *Sons) |
int | mmr_node_status (int Mesh_id, int Node) |
int | mmr_node_coor (int Mesh_id, int Node, double *Coor) |
int | mmr_set_node_coor (int Mesh_id, int Node, double *Xcoor) |
int | mmr_move_node (int Mesh_id, int Node, double *Dx) |
int | mmr_loc_loc (int Mesh_id, int El_from, double *X_from, int El_to, double *X_to) |
int | mmr_create_element (int Mesh_id, int Type, int Mate, int Fath, int Refi, int *Faces, int *Sons) |
int | mmr_create_face (int Mesh_id, int Type, int Flag_bc, int *Edges, int *Neig, int *Sons) |
int | mmr_create_edge (int Mesh_id, int Type, int Node1, int Node2) |
int | mmr_create_node (int Mesh_id, double Xcoor, double Ycoor, double Zcoor) |
int | mmr_clust_face (int Mesh_id, int Face, int *Face_sons) |
int | mmr_clust_edge (int Mesh_id, int Edge_id) |
int | mmr_divide_face (int Mesh_id, int Fa, int *Face_sons, int *Sons_edges, int *New_nodes) |
int | mmr_divide_edge (int Mesh_id, int Edge, int *Edge_sons, int *Node_mid) |
int | mmr_del_elem (int Mesh_id, int Elem) |
int | mmr_del_face (int Mesh_id, int Face) |
int | mmr_del_edge (int Mesh_id, int Edge) |
int | mmr_del_node (int Mesh_id, int Node) |
int | mmr_get_max_elem_max (int Mesh_id) |
int | mmr_get_max_face_max (int Mesh_id) |
int | mmr_get_max_edge_max (int Mesh_id) |
int | mmr_get_max_node_max (int Mesh_id) |
int | mmr_init_read (const int Mesh_id, const int N_nodes, const int N_edges, const int N_faces, const int N_elems) |
int | mmr_finish_read (const int Mesh_id) |
int | mmr_add_elem (const int Mesh_id, const int Id, const int El_type, const int El_nodes[6], const int El_faces[5], const int Material_idx) |
int | mmr_add_face (const int Mesh_id, const int Id, const int Fa_type, const int Fa_nodes[4], const int Fa_edges[4], const int Fa_neigs[2], const int B_cond_val) |
int | mmr_add_edge (const int Mesh_id, const int Id, const int nodes[2]) |
int | mmr_add_node (const int Mesh_id, const int Id, const double Coords[3]) |
int | mmr_current_mesh_state_hash (const int Mesh_id) |
mmr_current_mesh_state_hash - returns an current unique value (state hash, state stamp) that can be used to compare with value returned from this function at other time. If values are different, then one can assume that mesh internal state has changed. | |
int | mmr_init_dist2bound (const int Mesh_id, const int *BCs, const int nBCs) |
double | mmr_get_el_dist2boundary (const int Mesh_id, const int El_id, const double *Coord) |
void | mmr_get_coor_from_motion_element (const int Mesh_id, int idEl, int idLP, double *coor, int flagaSiatki) |
void | mmr_copyMESH (const int Mesh_id, int flaga) |
void | mmr_create_mesh_Cube (const int Mesh_id, const char *nazwa, int node_x, int node_y, int node_z, double size_x, double size_y, double size_z, double divide, int *warunki) |
void | mmr_init_all_change (const int Mesh_id, int a) |
void | mmr_test_mesh_motion (const int Mesh_id, int ileWarstw, int obecny_krok, int od_krok, int ileKrok, double minPoprawy, double px0, double py0, double pz0, double px1, double py1, double pz1, double endX, double endY, double endZ) |
double | mmr_test_weldpool (const int Mesh_id, double obecnyKrok, double krok_start, double minPoprawy, double doX, double doY, double dl, double zmiejszaPrzes, double limit, double szerokosc) |
int | mmr_groups_number (const int Mesh_id) |
*------------------------------------------------------------ | |
int | mmr_groups_ids (const int Mesh_id, int *tab, int l_tab) |
void | mmr_get_vec_norm_at_node (const int Mesh_id, int node_id, double *vec_norm) |
mmr_get_fa_el_bc_connect | |
int | mmr_get_fa_el_bc_connect (const int Mesh_id, int face_id, int *el_id) |
Variables | |
const int | MMC_MAX_EDGE_ELEMS |
const int | MMC_CUR_MESH_ID |
const int | MMC_INIT_GEN_LEVEL |
const int | MMC_AUTO_GENERATE_ID |
const int | MMC_BOUNDARY |
const int | MMC_BIG_NGB |
const int | MMC_SUB_BND |
const int | MMC_DO_UNI_REF |
const int | MMC_DO_UNI_DEREF |
const int | MMC_ACTIVE |
const int | MMC_INACTIVE |
const int | MMC_FREE |
const int | MMC_PRINT_NOT |
const int | MMC_PRINT_ERRORS |
const int | MMC_PRINT_INFO |
const int | MMC_PRINT_ALLINFO |
const int | MMC_NOT_REF |
const int | MMC_REF_ISO |
const int | MMC_REF_ANI |
const int | MMC_NO_FATH |
const int | MMC_FACE_NODES_FOR_TETRA [4][3] |
const int | MMC_FACE_NODES_FOR_PRISM [5][4] |
const int | MMC_IS_SUPPORTING_NEW_MPI |
#define MMC_MAXELEDGES 9 |
#define MMC_MAXELFAC 5 |
Constants
#define MMC_MAXELSONS 8 |
#define MMC_MAXELVNO 6 |
#define MMC_MAXFAVNO 4 |
enum mmt_file_type |
Data file types for mesh I/O data
enum mmt_mesh_entity |
int mmr_add_edge | ( | const int | Mesh_id, | |
const int | Id, | |||
const int | nodes[2] | |||
) |
int mmr_add_elem | ( | const int | Mesh_id, | |
const int | Id, | |||
const int | El_type, | |||
const int | El_nodes[6], | |||
const int | El_faces[5], | |||
const int | Material_idx | |||
) |
int mmr_add_face | ( | const int | Mesh_id, | |
const int | Id, | |||
const int | Fa_type, | |||
const int | Fa_nodes[4], | |||
const int | Fa_edges[4], | |||
const int | Fa_neigs[2], | |||
const int | B_cond_val | |||
) |
int mmr_add_node | ( | const int | Mesh_id, | |
const int | Id, | |||
const double | Coords[3] | |||
) |
int mmr_clust_edge | ( | int | Mesh_id, | |
int | Edge_id | |||
) |
Mesh_id | returns: >=0 - success code, <0 - error code | |
Edge_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: clustered edge ID |
int mmr_clust_face | ( | int | Mesh_id, | |
int | Face, | |||
int * | Face_sons | |||
) |
Mesh_id | returns: >=0 - success code, <0 - error code | |
Face | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Face_sons | in: face ID in (optional): face sons' IDs |
void mmr_copyMESH | ( | const int | Mesh_id, | |
int | flaga | |||
) |
----------------------------------------------------------- mmr_copyMESH ------------------------------------------------------------
int mmr_create_edge | ( | int | Mesh_id, | |
int | Type, | |||
int | Node1, | |||
int | Node2 | |||
) |
Mesh_id | returns: ID of a new edge (<0 - error code) | |
Type | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Node1 | in: type indicator (MMC_EDGE or number of attempted divisions for inactive edges0 | |
Node2 | in: nodes for a new edge |
int mmr_create_edge_elems | ( | int | Mesh_id, | |
int | Max_edge_id | |||
) |
----------------------------------------------------------- mmr_create_edge_elems - to create (or recreate if Max_edge_id > 0) for each edge a list of elements to which it belongs ------------------------------------------------------------
Mesh_id | returns: 1-success, <=0-failure | |
Max_edge_id | in: ID of the mesh to be used or 0 for the current mesh in: the range of edge IDs to consider or 0 for default if Max_edge_id==0 it is assumed that there are no structures to free !!! |
int mmr_create_element | ( | int | Mesh_id, | |
int | Type, | |||
int | Mate, | |||
int | Fath, | |||
int | Refi, | |||
int * | Faces, | |||
int * | Sons | |||
) |
Mesh_id | returns: ID of the created element (<=0 - failure) | |
Type | in: ID of the mesh to be used or 0 for the current mesh | |
Mate | in: type for the face | |
Fath | in: material indicator | |
Refi | in: father element ID | |
Faces | in: refinement type indicator | |
Sons | in: list of faces' IDs in: list of sons (only for inactive elements, Type<0) |
int mmr_create_face | ( | int | Mesh_id, | |
int | Type, | |||
int | Flag_bc, | |||
int * | Edges, | |||
int * | Neig, | |||
int * | Sons | |||
) |
Mesh_id | returns: ID of created face (<0 - error code) | |
Type | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Flag_bc | in: type for the face | |
Edges | in: bc flag for the face | |
Neig | in: edges for the new face | |
Sons | in (optional): neighbors (or NULL) in (optional): sons (if Type<0) or NULL |
void mmr_create_mesh_Cube | ( | const int | Mesh_id, | |
const char * | nazwa, | |||
int | node_x, | |||
int | node_y, | |||
int | node_z, | |||
double | size_x, | |||
double | size_y, | |||
double | size_z, | |||
double | divide, | |||
int * | warunki | |||
) |
----------------------------------------------------------- mmr_create_mesh_Cube - test movement mesh ------------------------------------------------------------
int mmr_create_node | ( | int | Mesh_id, | |
double | Xcoor, | |||
double | Ycoor, | |||
double | Zcoor | |||
) |
Mesh_id | returns: node ID of created node (<0 - error) | |
Xcoor | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Ycoor | in: coordinates of new node |
int mmr_current_mesh_state_hash | ( | const int | Mesh_id | ) |
mmr_current_mesh_state_hash - returns an current unique value (state hash, state stamp) that can be used to compare with value returned from this function at other time. If values are different, then one can assume that mesh internal state has changed.
Mesh_id |
int mmr_del_edge | ( | int | Mesh_id, | |
int | Edge | |||
) |
----------------------------------------------------------- mmr_del_edge - to free an edge structure ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Edge | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: edge ID |
int mmr_del_elem | ( | int | Mesh_id, | |
int | Elem | |||
) |
----------------------------------------------------------- mmr_del_elem - to free an element structure ------------------------------------------------------------
Mesh_id | returns: 1-success, <=0-failure | |
Elem | in: ID of the mesh to be used or 0 for the current mesh in: element ID |
int mmr_del_face | ( | int | Mesh_id, | |
int | Face | |||
) |
----------------------------------------------------------- mmr_del_face - to free a face structure ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Face | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: face ID |
int mmr_del_node | ( | int | Mesh_id, | |
int | Node | |||
) |
----------------------------------------------------------- mmr_del_node - to free a node structure ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Node | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: node ID |
int mmr_derefine_el | ( | int | Mesh_id, | |
int | El | |||
) |
----------------------------------------------------------- mmr_derefine_el - to derefine an element WITHOUT IRREGULARITY CHECK ------------------------------------------------------------
Mesh_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 |
int mmr_derefine_mesh | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_derefine_mesh - to derefine the WHOLE mesh WITHOUT IRREGULARITY CHECK ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_divide_edge | ( | int | Mesh_id, | |
int | Edge, | |||
int * | Edge_sons, | |||
int * | Node_mid | |||
) |
Mesh_id | returns: >=0 - success code, <0 - error code | |
Edge | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edge_sons | in: edge to be divided | |
Node_mid | out: two sons out: node in the middle |
int mmr_divide_face | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Face_sons, | |||
int * | Sons_edges, | |||
int * | New_nodes | |||
) |
Mesh_id | returns: >=0 - success code, <0 - error code | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Face_sons | in: face to be divided | |
Sons_edges | out: sons (sons[0] - the number of sons) | |
New_nodes | out: created new edges (edges[0] - the number of edges) out: created new nodes (nodes[0] - the number of nodes) |
int mmr_edge_elems | ( | int | Mesh_id, | |
int | Ed, | |||
int * | Edge_elems | |||
) |
-------------------------------------------------------- mmr_edge_elems - to return IDs of elements containing the edge ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Ed | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edge_elems | in: edge ID out: IDs of elements containing the edge Edge_elems[0] - the number of elements |
int mmr_edge_nodes | ( | int | Mesh_id, | |
int | Ed, | |||
int * | Edge_nodes | |||
) |
-------------------------------------------------------- mmr_edge_nodes - to return edge node's IDs ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Ed | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edge_nodes | in: edge ID out: IDs of edge nodes |
int mmr_edge_sons | ( | int | Mesh_id, | |
int | Ed, | |||
int * | Edge_sons, | |||
int * | Edge_mid_node | |||
) |
-------------------------------------------------------- mmr_edge_sons - to return edge son's numbers ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Ed | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edge_sons | in: edge ID | |
Edge_mid_node | out: IDs of edge sons out: IDs of edge mid-node son |
int mmr_edge_status | ( | int | Mesh_id, | |
int | Ed | |||
) |
-------------------------------------------------------- mmr_edge_status - to return edge status (active, inactive, free space) ---------------------------------------------------------
Mesh_id | returns edge status: +1 (MMC_ACTIVE) - active edge 0 (MMC_FREE) - free space -1 (MMC_INACTIVE) - inactive (refined) edge | |
Ed | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: edge ID |
int mmr_edge_structure | ( | int | Mesh_id, | |
int | Ed, | |||
int * | Edge_struct | |||
) |
-------------------------------------------------------- mmr_edge_structure - to return edge structure (e.g. for sending) ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Ed | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edge_struct | in: edge ID out: edge structure in the form of integer array |
int mmr_el_ancestor | ( | int | Mesh_id, | |
int | El, | |||
int | Ilev | |||
) |
-------------------------------------------------------- mmr_el_ancestor - to find the ancestor of an element with generation level Ilev ---------------------------------------------------------
Mesh_id | returns: >0 - ancestor ID, <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Ilev | in: element ID (1...) in: level ID |
int mmr_el_edges | ( | int | Mesh_id, | |
int | El, | |||
int * | Edges | |||
) |
-------------------------------------------------------- mmr_el_edges - to get the list of element's edges ---------------------------------------------------------
Mesh_id | returns the number of edges or error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Edges | in: element ID out : list of edge IDs |
int mmr_el_eq_neig | ( | int | Mesh_id, | |
int | El, | |||
int * | Neig, | |||
int * | Neig_sides | |||
) |
-------------------------------------------------------- mmr_el_eq_neig - to get equal size neighbors of an element ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Neig | in: element ID | |
Neig_sides | out: list of equal size neighbors >0 - equal size neighbor -1 (MMC_BIG_NGB) - big neighbor 0 (MMC_BOUNDARY) - boundary (always second neighbor) out: list of sides of neighbors |
int mmr_el_fa_nodes | ( | int | Mesh_id, | |
int | El, | |||
int | Fa, | |||
int * | Fa_nodes | |||
) |
-------------------------------------------------------- mmr_el_fa_nodes - to get list local face nodes indexes in elem ---------------------------------------------------------
switch(Fa)
switch(Fa)
switch(neig..)
switch(neig..)
if(mmr_el_type)
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fa_nodes | in: local face number in elem El out: list of local indexes of face nodes |
int mmr_el_faces | ( | int | Mesh_id, | |
int | El, | |||
int * | Faces, | |||
int * | Orient | |||
) |
-------------------------------------------------------- mmr_el_faces - to get faces of an element ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Faces | in: element ID | |
Orient | out: list of faces out: orientation for each face |
int mmr_el_fam | ( | int | Mesh_id, | |
int | El, | |||
int * | Elsons, | |||
int * | Type | |||
) |
-------------------------------------------------------- mmr_el_fam - to return family information for an element ---------------------------------------------------------
Mesh_id | returns: element father ID or 0 (MMC_NO_FATH) for initial mesh element or <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Elsons | in: element ID (1...) | |
Type | out: list of element's sons Elsons[0] - number of sons out: type of refinement MMC_NOT_REF - not refined MMC_REF_ISO - isotropic refinement |
int mmr_el_fam_all | ( | int | Mesh_id, | |
int | El, | |||
int * | Elsonscd | |||
) |
Mesh_id | returns: element father ID or 0 (MMC_NO_FATH) for initial mesh element or <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Elsonscd | in: element ID (1...) out: list of all recursive element's sons Elsons[0] - number of sons |
int mmr_el_gen | ( | int | Mesh_id, | |
int | El | |||
) |
-------------------------------------------------------- mmr_el_gen - to return generation level for an element ---------------------------------------------------------
Mesh_id | returns: El's generation ID | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID (1...) |
int mmr_el_groupID | ( | int | Mesh_id, | |
int | El | |||
) |
Replaces old mmr_el_mat() routine. Returns ID of group for given element number. In order to get the material number, pass obtained groupID into utr_mat_get_matID. In order to get the block number, pass obtained groupID into utr_mat_get_blockID .
-------------------------------------------------------- mmr_el_groupID - to return group ID for element ---------------------------------------------------------
Mesh_id | mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
El | element ID |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID |
double mmr_el_hsize | ( | int | Mesh_id, | |
int | El, | |||
double * | Size_x, | |||
double * | Size_y, | |||
double * | Size_z | |||
) |
-------------------------------------------------------- mmr_el_hsize - to compute a characteristic linear size for an element (for linear and multi-linear 3D elements) ---------------------------------------------------------
Mesh_id | returns: element size | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Size_x | in: element ID (1...) | |
Size_y | out: for anizotropic elements |
int mmr_el_node_coor | ( | int | Mesh_id, | |
int | El, | |||
int * | Nodes, | |||
double * | Node_coor | |||
) |
-------------------------------------------------------- mmr_el_node_coor - to get the coordinates of element's nodes ---------------------------------------------------------
Mesh_id | returns number of nodes | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Nodes | in: element ID | |
Node_coor | out: list of vertex node IDs out: coordinates of element vertices |
int mmr_el_set_groupID | ( | int | Mesh_id, | |
int | El, | |||
int | Group_id | |||
) |
Replaces old mmr_el_set_mat() routine. Assigns given element for group with given ID. Note, that this can effectively change element material number ( utr_mat_get_matID ), element block assignment ( utr_mat_get_blockID ), and is some circumstances also affects boundary conditions definitions ( utr_mesh_insert_BC_contact ).
-------------------------------------------------------- mmr_el_set_groupID - to set group number for element ---------------------------------------------------------
Mesh_id | mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
El | element ID | |
Group_id |
Mesh_id | sets group flag for element | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Group_id | in: element ID in: group ID |
int mmr_el_status | ( | int | Mesh_id, | |
int | El | |||
) |
-------------------------------------------------------- mmr_el_status - to return element status (active, inactive, free space) ---------------------------------------------------------
Mesh_id | returns element status: +1 (MMC_ACTIVE) - active element 0 (MMC_FREE) - free space -1 (MMC_INACTIVE) - inactive (refined) element | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID |
int mmr_el_type | ( | int | Mesh_id, | |
int | El | |||
) |
-------------------------------------------------------- mmr_el_type - to return element type ---------------------------------------------------------
Mesh_id | returns element type or <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID |
int mmr_el_type_ref | ( | int | Mesh_id, | |
int | El | |||
) |
-------------------------------------------------------- mmr_el_type_ref - to return element's type of refinement ---------------------------------------------------------
Mesh_id | returns element's type of refinement, <0 - error code MMC_NOT_REF - not refined MMC_REF_ISO - isotropic refinement | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: element ID |
int mmr_elem_structure | ( | int | Mesh_id, | |
int | El, | |||
int * | Elem_struct | |||
) |
-------------------------------------------------------- mmr_elem_structure - to return elem structure (e.g. for sending) ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
El | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Elem_struct | in: elem ID out: elem structure in the form of integer array |
int mmr_export_mesh | ( | int | Mesh_id, | |
int | Control, | |||
char * | Filename | |||
) |
-------------------------------------------------------- mmr_export_mesh - to export (write to a file) mesh data in a specified format ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Control | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Filename | in: control variable to choose data format MMC_MOD_FEM_MESH_DATA = 1 - mesh written to standard dump files in: name of the file to write mesh data |
void mmr_fa_area | ( | int | Mesh_id, | |
int | Fa, | |||
double * | Area, | |||
double * | Vec_norm | |||
) |
-------------------------------------------------------- mmr_fa_area - to compute the area of face and vector normal ---------------------------------------------------------
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Area | in: global face ID | |
Vec_norm | out: face area out: normal vector |
int mmr_fa_bc | ( | int | Mesh_id, | |
int | Fa | |||
) |
------------------------------------------------------------------------- mmr_fa_bc - to get the boundary condition flag for a face ---------------------------------------------------------------------------
Mesh_id | returns: bc flag for a face | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: global face ID |
int mmr_fa_edges | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Fa_edges, | |||
int * | Ed_orient | |||
) |
-------------------------------------------------------- mmr_fa_edges - to return a list of face's edges ---------------------------------------------------------
Mesh_id | returns: >=0 - number of edges, <0 - error code | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fa_edges | in: global face ID | |
Ed_orient | out: face edges out: edges orientation: |
void mmr_fa_elem_coor | ( | int | Mesh_id, | |
double * | Xloc, | |||
int * | Fa_neig, | |||
int * | Neig_sides, | |||
int | Node_shift, | |||
double * | Acoeff, | |||
double * | Bcoeff, | |||
double * | Xneig | |||
) |
-------------------------------------------------------- mmr_fa_elem_coor - to find coordinates within neighboring elements for a point on face ---------------------------------------------------------
switch(Neig_sides[ineig]
switch(el_type)
if
for
switch(Neig_sides[ineig]
switch(Neig_sides[ineig]
switch(el_type)
if
for
Xloc | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fa_neig | in: local coordinates on a face | |
Neig_sides | in: face neighbors (<0 - big) | |
Node_shift | in: which side face is for neighbors | |
Acoeff | in: the difference in positions between neighbor (usage in mmr_fa_node_coor) | |
Bcoeff | in: coefficients of transformation between... | |
Xneig | in: ...face coord and big neighb face coord out: local coordinates for neighbors |
void mmr_fa_eq_neig | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Fa_neig, | |||
int * | Neig_sides, | |||
int * | Node_shift | |||
) |
-------------------------------------------------------- mmr_fa_eq_neig - to return a list of face's neighbors and corresponding neighbors' sides (only equal size neighbors considered) ---------------------------------------------------------
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fa_neig | in: global face ID | |
Neig_sides | out: face neighbors (first neighbor has the same orientation as the face and ordering of its nodes defines ordering of nodes on the face) >0 - equal size neighbor ID -1 (MMC_BIG_NGB) - big neighbor 0 (MMC_BOUNDARY) - boundary (always second neighbor) -2 (MMC_SUB_BND) - inter-subdomain boundary <-10 - ghost face ID for contact boundary | |
Node_shift | out: side local IDs for equal size neighbors out: the difference in positions between neighbor (usage in mmr_fa_node_coor) |
int mmr_fa_fam | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Fasons, | |||
int * | Node_mid | |||
) |
------------------------------------------------------------------------- mmr_fa_fam - to return face's family information ---------------------------------------------------------------------------
Mesh_id | returns: face's father | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fasons | in: global face ID | |
Node_mid | out: sons Fasons[0] - number of sons out: node in the middle (if any) |
void mmr_fa_neig | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Fa_neig, | |||
int * | Neig_sides, | |||
int * | Node_shift, | |||
int * | Diff_gen, | |||
double * | Acoeff, | |||
double * | Bcoeff | |||
) |
-------------------------------------------------------- mmr_fa_neig - to return a list of face's neighbors and corresponding neighbors' sides (for active faces all neighbors are active) ---------------------------------------------------------
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fa_neig | in: global face ID | |
Neig_sides | out: face neighbors (first neighbor has the same orientation as the face and ordering of its nodes defines ordering of nodes on the face) >0 - equal size neighbor ID <0 - big neighbor ID 0 (MMC_BOUNDARY) - boundary (always 2nd neighbor) | |
Node_shift | out: side IDs for neighbors | |
Diff_gen | out: the difference in positions between neighbor (usage in mmr_fa_node_coor) | |
Acoeff | out: generation difference between neighbors | |
Bcoeff | out: coefficients of linear transformation... between face coordinates and coordinates on an ancestor face being a side of big neighbor |
int mmr_fa_node_coor | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Nodes, | |||
double * | Node_coor | |||
) |
-------------------------------------------------------- mmr_fa_node_coor - to get the list and coordinates of faces's nodes ---------------------------------------------------------
Mesh_id | returns: number of nodes for a face | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Nodes | in: face ID | |
Node_coor | out: list of vertex node IDs out: coordinates of face vertices |
int mmr_fa_set_bc | ( | int | Mesh_id, | |
int | Fa, | |||
int | Bc_num | |||
) |
------------------------------------------------------------------------- mmr_fa_bc - to set the boundary condition flag for a face ---------------------------------------------------------------------------
Mesh_id | returns: bc flag for a face | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Bc_num | in: global face ID |
int mmr_fa_set_sub_bnd | ( | int | Mesh_id, | |
int | Face_id, | |||
int | Side_id | |||
) |
-------------------------------------------------------- mmr_fa_set_sub_bnd - to indicate face is on the boundary ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Face_id | in: mesh ID | |
Side_id | in: face ID in: side ID ??? |
int mmr_fa_status | ( | int | Mesh_id, | |
int | Fa | |||
) |
-------------------------------------------------------- mmr_fa_status - to return face status (active, inactive, free space) ---------------------------------------------------------
Mesh_id | returns face status: | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: face ID |
int mmr_fa_sub_bnd | ( | int | Mesh_id, | |
int | Face_id | |||
) |
-------------------------------------------------------- mmr_fa_sub_bnd - to indicate face is on the boundary ---------------------------------------------------------
Mesh_id | returns: 1 - true, 0 - false | |
Face_id | in: mesh ID in: face ID |
int mmr_fa_type | ( | int | Mesh_id, | |
int | Fa | |||
) |
-------------------------------------------------------- mmr_fa_type - to return face type (triangle, quad, free space) ---------------------------------------------------------
Mesh_id | returns face type: | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: face ID |
int mmr_face_structure | ( | int | Mesh_id, | |
int | Fa, | |||
int * | Face_struct | |||
) |
-------------------------------------------------------- mmr_face_structure - to return face structure (e.g. for sending) ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Fa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Face_struct | in: face ID out: face structure in the form of integer array |
int mmr_final_ref | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_final_ref - to finalize the process of refinement after rewriting DOFs ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_finish_read | ( | const int | Mesh_id | ) |
int mmr_free_mesh | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_free_mesh - to free space allocated for mesh data structure ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_gen_boundary_layer | ( | int | Mesh_id, | |
int | Bc, | |||
int | thicknessProc, | |||
int | noLayers, | |||
int | distribuiton, | |||
double * | ignoreVect | |||
) |
----------------------------------------------------------- mmr_gen_boundary_layer - to generate boundary layer (for tetrahedral meshes only) ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Bc | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
thicknessProc | in: boundary conditon ID or -1 (MMC_DO_UNI_REF) for uniform refinement |
void mmr_get_coor_from_motion_element | ( | const int | Mesh_id, | |
int | idEl, | |||
int | idLP, | |||
double * | coor, | |||
int | flagaSiatki | |||
) |
double mmr_get_el_dist2boundary | ( | const int | Mesh_id, | |
const int | El_id, | |||
const double * | Coord | |||
) |
-------------------------------------------------------- mmr_get_el_dist2boundary - to return approx distance from point within element to nearst boundary ---------------------------------------------------------
Mesh_id | returns: dist>=0.0 <0 - "far far away from boundary" code |
int mmr_get_fa_el_bc_connect | ( | const int | Mesh_id, | |
int | face_id, | |||
int * | el_id | |||
) |
int mmr_get_max_edge_id | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_edge_id - to return the maximal edge id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal edge id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_edge_max | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_edge_max - to return the maximal possible edge id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal possible edge id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_elem_id | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_elem_id - to return the maximal element id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal element id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_elem_max | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_elem_max - to return the maximal possible elem id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal possible elem id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_face_id | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_face_id - to return the maximal face id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal face id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_face_max | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_face_max - to return the maximal possible face id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal possible face id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_gen | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_gen - to get maximal allowed generation level for elements ------------------------------------------------------------
Mesh_id | returns: >=0 - maximal generation, <0-error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_gen_diff | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_gen_diff - to get maximal allowed generation difference between neighboring elements ------------------------------------------------------------
Mesh_id | returns: >=0 - maximal generation difference, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_node_id | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_node_id - to return the maximal node id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal node id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_max_node_max | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_max_node_max - to return the maximal possible vertex id ---------------------------------------------------------
Mesh_id | returns: >=0 - maximal possible vertex id <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_next_act_elem | ( | int | Mesh_id, | |
int | Nel | |||
) |
-------------------------------------------------------- mmr_get_next_act_elem - to return the next active element id ---------------------------------------------------------
Mesh_id | returns: >=0 - the next active element ID (0 - input is the last element) <0 - error code | |
Nel | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input element (0 - return first active element) |
int mmr_get_next_act_face | ( | int | Mesh_id, | |
int | Nfa | |||
) |
-------------------------------------------------------- mmr_get_next_act_face - to return the next active face id ---------------------------------------------------------
Mesh_id | returns: >=0 - ID of the next active face (0 - input is the last face) <0 - error code | |
Nfa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input face (0 - return first active face) |
int mmr_get_next_edge_all | ( | int | Mesh_id, | |
int | Ned | |||
) |
-------------------------------------------------------- mmr_get_next_edge_all - to return the next edgeent id (active or inactive) ---------------------------------------------------------
Mesh_id | returns: >=0 - ID of the next edge (0 - input is the last edge) <0 - error code | |
Ned | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input edge (0 - return first edge) |
int mmr_get_next_elem_all | ( | int | Mesh_id, | |
int | Nel | |||
) |
-------------------------------------------------------- mmr_get_next_elem_all - to return the next element id (active or inactive) ---------------------------------------------------------
Mesh_id | returns: >=0 - ID of the next element (0 - input is the last element) <0 - error code | |
Nel | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input element (0 - return first element) |
int mmr_get_next_face_all | ( | int | Mesh_id, | |
int | Nfa | |||
) |
-------------------------------------------------------- mmr_get_next_face_all - to return the next face id (active or inactive) ---------------------------------------------------------
Mesh_id | returns: >=0 - ID of the next face (0 - input is the last face) <0 - error code | |
Nfa | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input face (0 - return first face) |
int mmr_get_next_node_all | ( | int | Mesh_id, | |
int | Nno | |||
) |
-------------------------------------------------------- mmr_get_next_node_all - to return the next node id (active or inactive) ---------------------------------------------------------
Mesh_id | returns: >=0 - ID of the next node (0 - input is the last node) <0 - error code | |
Nno | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: input node (0 - return first node) |
int mmr_get_nr_edge | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_nr_edge - to return the number of active edges ---------------------------------------------------------
Mesh_id | returns: >=0 - number of active edges, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_nr_elem | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_nr_elem - to return the number of active elements ---------------------------------------------------------
Mesh_id | returns: >=0 - number of active elements, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_nr_face | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_nr_face - to return the number of active faces ---------------------------------------------------------
Mesh_id | returns: >=0 - number of active faces, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_get_nr_node | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_get_nr_node - to return the number of active nodes ---------------------------------------------------------
Mesh_id | returns: >=0 - number of active nodes, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
void mmr_get_vec_norm_at_node | ( | const int | Mesh_id, | |
int | node_id, | |||
double * | vec_norm | |||
) |
mmr_get_fa_el_bc_connect
face_id | ||
el_id | out: [0][1][2] - number of correspoding gauss points on the other (contact) 'connected face' [3] - id of neighbouring element with face 'face_id' [4] - id of the other element on the other side of 'connected face' |
int mmr_groups_ids | ( | const int | Mesh_id, | |
int * | tab, | |||
int | l_tab | |||
) |
int mmr_groups_number | ( | const int | Mesh_id | ) |
*------------------------------------------------------------
void mmr_init_all_change | ( | const int | Mesh_id, | |
int | a | |||
) |
----------------------------------------------------------- mmr_test_mesh_motion - test movement mesh ------------------------------------------------------------
int mmr_init_dist2bound | ( | const int | Mesh_id, | |
const int * | BCs, | |||
const int | nBCs | |||
) |
-------------------------------------------------------- mmr_init_dist2boundary - to return distance from given vertex to nearst boundary ---------------------------------------------------------
int mmr_init_mesh | ( | int | Control, | |
char * | Filename, | |||
FILE * | interactive_output | |||
) |
----------------------------------------------------------- mmr_init_mesh - to initialize the mesh data structure (and read data) ------------------------------------------------------------
switch(Control)
switch(Control)
Control | returns: >0 - Mesh ID, <0 - error code | |
Filename | in: control variable to choose data format MMC_MOD_FEM_MESH_DATA = 1 - mesh read from dump files MMC_GRADMESH_DATA = 2 - mesh produced by 2D GRADMESH mesh generator | |
interactive_output | in: name of the file to read mesh data |
int mmr_init_mesh2 | ( | FILE * | Interactive_output, | |
const int | N_nodes, | |||
const int | N_edges, | |||
const int | N_faces, | |||
const int | N_elems | |||
) |
Interactive_output | returns: >0 - Mesh ID, <0 - error code |
int mmr_init_read | ( | const int | Mesh_id, | |
const int | N_nodes, | |||
const int | N_edges, | |||
const int | N_faces, | |||
const int | N_elems | |||
) |
--------------------------------------------------------- mmr_init_read - to inform mesh module about new target number of elems,faces,edges and nodes ------------------------------------------------------------ NOTE: this is NOT a resize function. It does NOT ADD/REMOVE any elements. It only reserves resources. To add mesh entities use mmr_add_* functions. ---------------------------------------------------------
N_nodes | IN: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
N_edges | IN: target count of nodes | |
N_faces | IN: target count of edges | |
N_elems | IN: target count of facesIN: target count of elements |
int mmr_init_ref | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_init_ref - to initialize the process of refinement ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_is_ready_for_proj_dof_ref | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_is_ready_for_proj_dof_ref - to check if mesh module is ready for dofs projection ------------------------------------------------------------
int mmr_loc_loc | ( | int | Mesh_id, | |
int | El_from, | |||
double * | X_from, | |||
int | El_to, | |||
double * | X_to | |||
) |
-------------------------------------------------------- mmr_loc_loc - to compute local coordinates within an element, given local coordinates within an element of the same family ---------------------------------------------------------
Mesh_id | returns: 1 - success, 0 - failure | |
El_from | in: field ID | |
X_from | in: element number | |
El_to | in: local element coordinates | |
X_to | in: another element number out: local another element coordinates |
int mmr_mesh_i_params | ( | int | Mesh_id, | |
int | Num | |||
) |
-------------------------------------------------------- mmr_mesh_i_params - to return mesh parameters ---------------------------------------------------------
Mesh_id | returns: >=0 - integer mesh parameter, <0 - error code | |
Num | in: pointer to the mesh data structure in: parameter number in control structure |
void* mmr_module_internals | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_module_internals - to return the mesh internal structures ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code out: the name of the mesh |
int mmr_module_introduce | ( | char * | Mesh_name | ) |
Declarations of interface routines: ----------------------------------------------------------- mmr_module_introduce - to return the mesh name ------------------------------------------------------------
Mesh_name | returns: >=0 - success code, <0 - error code out: the name of the mesh |
int mmr_move_node | ( | int | Mesh_id, | |
int | Node, | |||
double * | Dx | |||
) |
int mmr_node_coor | ( | int | Mesh_id, | |
int | Node, | |||
double * | Coor | |||
) |
-------------------------------------------------------- mmr_node_coor - to return node coordinates ---------------------------------------------------------
Mesh_id | returns success (>=0) or error (<0) code | |
Node | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Coor | in: node ID out: coordinates |
int mmr_node_status | ( | int | Mesh_id, | |
int | Node | |||
) |
-------------------------------------------------------- mmr_node_status - to return node status (active, inactive, free space) ---------------------------------------------------------
Mesh_id | returns node status: +1 (MMC_ACTIVE) - active node 0 (MMC_FREE) - free space | |
Node | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: node ID |
int mmr_r_refine | ( | int | Mesh_id, | |
int | Bc, | |||
void(*)(double *x, double *y, double *z) | reallocation_func | |||
) |
----------------------------------------------------------- mmr_r_refine - to r-refine an elements with given boundary condition ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Bc | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
reallocation_func | in: boundary conditon ID or -1 (MMC_DO_UNI_REF) for uniform refinement function moving to new position |
int mmr_refine_el | ( | int | Mesh_id, | |
int | El | |||
) |
----------------------------------------------------------- mmr_refine_el - to refine an element WITHOUT IRREGULARITY CHECK ------------------------------------------------------------
Mesh_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 |
int mmr_refine_mesh | ( | int | Mesh_id | ) |
----------------------------------------------------------- mmr_refine_mesh - to refine the WHOLE mesh WITHOUT IRREGULARITY CHECK ------------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
int mmr_set_edge_fam | ( | int | Mesh_id, | |
int | Edge_id, | |||
int | Son1, | |||
int | Son2 | |||
) |
-------------------------------------------------------- mmr_set_edge_fam - to set family data for an edge ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Edge_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Son1 | in: edge ID | |
Son2 | in: first son ID in: second son ID |
int mmr_set_edge_type | ( | int | Mesh_id, | |
int | Edge_id, | |||
int | Type | |||
) |
-------------------------------------------------------- mmr_set_edge_type - to set type for an edge ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Edge_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Type | in: edge ID in: edge type (the number of attempted subdivisions !!!) |
int mmr_set_elem_fam | ( | int | Mesh_id, | |
int | Elem_id, | |||
int | Fath, | |||
int * | Sons | |||
) |
-------------------------------------------------------- mmr_set_elem_fam - to set family data for an elem ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Elem_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fath | in: elem ID | |
Sons | in: father ID in: sons IDs |
int mmr_set_elem_fath | ( | int | Mesh_id, | |
int | Elem_id, | |||
int | Fath | |||
) |
-------------------------------------------------------- mmr_set_elem_fath - to set family data for an elem ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Elem_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Fath | in: elem ID in: father ID |
int mmr_set_face_fam | ( | int | Mesh_id, | |
int | Face_id, | |||
int * | Sons | |||
) |
-------------------------------------------------------- mmr_set_face_fam - to set family data for an face ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Face_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Sons | in: face ID in: sons IDs |
int mmr_set_face_neig | ( | int | Mesh_id, | |
int | Face_id, | |||
int | Neig1, | |||
int | Neig2, | |||
int | Neig1Type, | |||
int | Neig2Type | |||
) |
-------------------------------------------------------- mmr_set_face_neig - to set neighbors data for a face ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code | |
Face_id | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh | |
Neig1 | in: face ID | |
Neig2 | in: first neig ID | |
Neig1Type | in: second neig ID | |
Neig2Type | in: first neig type in: second neig type |
int mmr_set_max_gen | ( | int | Mesh_id, | |
int | Max_gen | |||
) |
-------------------------------------------------------- mmr_set_max_gen - to set maximal allowed generation level for elements ------------------------------------------------------------
Mesh_id | returns: >=0-success code, <0-error code | |
Max_gen | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: maximal generation difference |
int mmr_set_max_gen_diff | ( | int | Mesh_id, | |
int | Max_gen_diff | |||
) |
-------------------------------------------------------- mmr_set_max_gen_diff - to set maximal allowed generation difference between neighboring elements ------------------------------------------------------------
Mesh_id | returns: >=0-success code, <0-error code | |
Max_gen_diff | in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh in: maximal generation difference |
int mmr_set_node_coor | ( | int | Mesh_id, | |
int | Node, | |||
double * | Xcoor | |||
) |
int mmr_test_mesh | ( | int | Mesh_id | ) |
-------------------------------------------------------- mmr_test_mesh - to test the integrity of mesh data ---------------------------------------------------------
Mesh_id | returns: >=0 - success code, <0 - error code in: mesh ID or 0 (MMC_CUR_MESH_ID) for the current mesh |
void mmr_test_mesh_motion | ( | const int | Mesh_id, | |
int | ileWarstw, | |||
int | obecny_krok, | |||
int | od_krok, | |||
int | ileKrok, | |||
double | minPoprawy, | |||
double | px0, | |||
double | py0, | |||
double | pz0, | |||
double | px1, | |||
double | py1, | |||
double | pz1, | |||
double | endX, | |||
double | endY, | |||
double | endZ | |||
) |
double mmr_test_weldpool | ( | const int | Mesh_id, | |
double | obecnyKrok, | |||
double | krok_start, | |||
double | minPoprawy, | |||
double | doX, | |||
double | doY, | |||
double | dl, | |||
double | zmiejszaPrzes, | |||
double | limit, | |||
double | szerokosc | |||
) |
const int MMC_ACTIVE |
to perform uniform derefinement Status indicators
const int MMC_AUTO_GENERATE_ID |
const int MMC_BIG_NGB |
boundary indicator
const int MMC_BOUNDARY |
Position and neighbors options
const int MMC_CUR_MESH_ID |
const int MMC_DO_UNI_DEREF |
to perform uniform refinement
const int MMC_DO_UNI_REF |
Refinement options
const int MMC_FACE_NODES_FOR_PRISM[5][4] |
const int MMC_FACE_NODES_FOR_TETRA[4][3] |
no father indicator
const int MMC_FREE |
inactive (refined) mesh entity
const int MMC_INACTIVE |
active mesh entity
const int MMC_INIT_GEN_LEVEL |
indicator for the current active mesh
anisotropic refinement Other
const int MMC_IS_SUPPORTING_NEW_MPI |
const int MMC_MAX_EDGE_ELEMS |
const int MMC_NO_FATH |
const int MMC_NOT_REF |
to print all available information Refinement types
const int MMC_PRINT_ALLINFO |
to print most important information
const int MMC_PRINT_ERRORS |
not to print anything
const int MMC_PRINT_INFO |
to print error messages only
const int MMC_PRINT_NOT |
free space in data structure Monitoring options
const int MMC_REF_ANI |
isotropic refinement
const int MMC_REF_ISO |
not refined
const int MMC_SUB_BND |
big neghbor indicator