1 /***************************************************************************** 2 * Copyright (c) 2019 FrontISTR Commons 3 * This software is released under the MIT License, see LICENSE.txt 4 *****************************************************************************/ 5 6 #ifndef HECMW_RESULT_INCLUDED 7 #define HECMW_RESULT_INCLUDED 8 9 #include "hecmw_struct.h" 10 11 struct hecmwST_result_data { 12 int ng_component; 13 int nn_component; 14 int ne_component; 15 int *ng_dof; 16 int *nn_dof; 17 int *ne_dof; 18 char **global_label; 19 char **node_label; 20 char **elem_label; 21 double *global_val_item; 22 double *node_val_item; 23 double *elem_val_item; 24 }; 25 26 extern void HECMW_result_free(struct hecmwST_result_data *result); 27 28 extern int HECMW_result_init(struct hecmwST_local_mesh *hecMESH, 29 int i_step, char *header, char *comment); 30 extern int HECMW_result_finalize(void); 31 32 extern int HECMW_result_write_by_name(char *name_ID); 33 extern int HECMW_result_write_by_addfname(char *name_ID, char *addfname); 34 35 extern int HECMW_result_write_ST_by_name(char *name_ID, 36 struct hecmwST_result_data *result, 37 int n_node, int n_elem, char *header, char *comment); 38 39 extern struct hecmwST_result_data *HECMW_result_read_by_name(char *name_ID, 40 int i_step); 41 extern struct hecmwST_result_data *HECMW_result_read_by_fname(char *filename); 42 43 extern int HECMW_result_get_nnode(void); 44 extern int HECMW_result_get_nelem(void); 45 extern char *HECMW_result_get_header(char *buff); 46 extern char *HECMW_result_get_comment(char *buff); 47 extern int *HECMW_result_get_nodeID(int *buff); 48 extern int *HECMW_result_get_elemID(int *buff); 49 extern void HECMW_result_free_nodeID(void); 50 extern void HECMW_result_free_elemID(void); 51 52 /* 53 functions defined in hecmw_result_bin_io.c 54 */ 55 extern int HECMW_judge_result_bin_file(char *filename); 56 extern int HECMW_result_write_bin_by_fname(char *filename); 57 extern int HECMW_result_write_bin_ST_by_fname( 58 char *filename, struct hecmwST_result_data *result, int n_node, int n_elem, 59 char *header, char *comment); 60 extern struct hecmwST_result_data *HECMW_result_read_bin_by_fname(char *filename); 61 62 /* 63 functions defined in hecmw_result_txt_io.c 64 */ 65 extern int HECMW_result_write_txt_by_fname(char *filename); 66 extern int HECMW_result_write_txt_ST_by_fname( 67 char *filename, struct hecmwST_result_data *result, int n_node, int n_elem, 68 char *header, char *comment); 69 extern struct hecmwST_result_data *HECMW_result_read_txt_by_fname(char *filename); 70 71 #endif 72