00001 #ifndef UTH_IO_RESULTS_H_
00002 #define UTH_IO_RESULTS_H_
00003 #ifdef __cplusplus
00004 extern "C"
00005 {
00006 #endif
00007
00027
00028
00029 typedef enum {
00030 RESULT_STEP = 0,
00031 RESULT_NON_LIN_STEP,
00032 RESULT_CUR_TIME,
00033 RESULT_DT,
00034 RESULT_CFL_MIN,
00035 RESULT_CFL_MAX,
00036 RESULT_CFL_AVG,
00037 RESULT_N_DOFS,
00038 RESULT_NORM_PLAST_FLOW,
00039 RESULT_NORM_NS_SUPG,
00040 RESULT_NORM_NS_SUPG_NONL,
00041 RESULT_NORM_NS_MIXED,
00042 RESULT_NORM_NS_MIXED_NONL,
00043 RESULT_NORM_HEAT,
00044 RESULT_NORM_HEAT_NONL,
00045 RESULT_OUT_FILENAME,
00046 RESULT_TIME_TO_SOL,
00047 RESULT_TIME_DDM,
00048 RESULT_TIME_PCM,
00049 RESULT_TIME_MMPM,
00050 RESULT_TIME_APPM,
00051 RESULT_TIME_SIM,
00052 RESULT_CONTROL_POINTS,
00053 RESULT_LAST
00054 } utt_io_result_name;
00055
00056 int utr_io_result_set_filename(const char* Workdir,const char* Filename);
00057
00058 int utr_io_result_clear_columns();
00059
00060 void utr_io_result_clear_rows();
00061
00062 int utr_io_result_add_column(utt_io_result_name column);
00063
00064
00065 int utr_io_result_write_columns(const int Keep_old_data
00066
00067 );
00068
00069 int utr_io_result_add_value(utt_io_result_name name, const char* value);
00070
00071 int utr_io_result_add_value_int(utt_io_result_name name, int value);
00072
00073 int utr_io_result_add_value_double(utt_io_result_name name, double value);
00074
00075 int utr_io_result_cumulative_timer_start(utt_io_result_name name);
00076 int utr_io_result_cumulative_timer_stop(utt_io_result_name name);
00077
00078 int utr_io_result_write_values_and_proceed();
00079 int utr_io_result_ctrl_pts_write_values_to_file_and_proceed();
00080
00083 int utr_io_result_gather_and_avg_all_files(const int N_procs, const int My_proc_ID,
00084 const int Row_nr, const int Keep_data);
00085
00088
00093 int utr_io_result_ctrl_pts_read_file(const char* Work_dir, const char* Filename);
00094 int utr_io_result_ctrl_pts_set_sol_len(const int N_solutions);
00095 int utr_io_result_ctrl_pts_set_filename(const char* Workdir,const char* Filename);
00096 int utr_io_result_add_ctrl_pt_values(const int Point_nr, const int N_val, double* Values);
00097
00098 int utr_io_result_ctrl_pts_nr();
00099 int utr_io_result_ctrl_pt_get_coords(const int Point_nr, double* Coords);
00100 int utr_io_result_ctrl_pt_set_elemID(const int Pt_nr, const int Mesh_id, const int ElemID);
00101 int utr_io_result_ctrl_pt_get_elemID(const int Pt_nr, const int Mesh_id);
00102
00103
00105
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111
00113
00114
00115 #endif //UTH_IO_RESULTS_H_