FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_result.c
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <stddef.h>
9 #include <string.h>
10 #include <errno.h>
11 #include <ctype.h>
12 #include "hecmw_util.h"
13 #include "hecmw_config.h"
14 #include "hecmw_bin_io.h"
15 #include "hecmw_result.h"
16 #include "hecmw_result_io.h"
17 #include "hecmw_result_io_bin.h"
18 #include "hecmw_result_io_txt.h"
19 
20 
21 void HECMW_result_free(struct hecmwST_result_data *result) {
22  int i;
23 
24  if (result == NULL) return;
25 
26  if (result->ng_component > 0) {
27  HECMW_free(result->ng_dof);
28  HECMW_free(result->global_val_item);
29  for (i = 0; i < result->ng_component; i++) {
30  HECMW_free(result->global_label[i]);
31  }
32  HECMW_free(result->global_label);
33  }
34 
35  if (result->nn_component > 0) {
36  HECMW_free(result->nn_dof);
37  HECMW_free(result->node_val_item);
38  for (i = 0; i < result->nn_component; i++) {
39  HECMW_free(result->node_label[i]);
40  }
41  HECMW_free(result->node_label);
42  }
43 
44  if (result->ne_component > 0) {
45  HECMW_free(result->ne_dof);
46  HECMW_free(result->elem_val_item);
47  for (i = 0; i < result->ne_component; i++) {
48  HECMW_free(result->elem_label[i]);
49  }
50  HECMW_free(result->elem_label);
51  }
52 
53  HECMW_free(result);
54 }
55 
57  int i_step, char *header, char *comment) {
58  return HECMW_result_io_init(
59  hecMESH->n_node, hecMESH->n_elem, hecMESH->global_node_ID,
60  hecMESH->global_elem_ID, hecMESH->n_elem_type, hecMESH->elem_type_index,
61  hecMESH->elem_type_item, i_step, header, comment);
62 }
63 
66  return 0;
67 }
68 
69 
70 /*---------------------------------------------------------------------------*/
71 /* UNIVERSAL I/O */
72 /*---------------------------------------------------------------------------*/
73 
74 int HECMW_result_write_by_name(char *name_ID) {
75  char *basename, filename[HECMW_FILENAME_LEN + 1];
76  int fg_text, ret;
77 
78  if ((basename =
79  HECMW_ctrl_get_result_file(name_ID, ResIO.istep, &fg_text)) == NULL)
80  return -1;
81 
82  ret = snprintf(filename, HECMW_FILENAME_LEN + 1, "%s.%d", basename, ResIO.istep);
83  HECMW_free(basename);
84  if (ret > HECMW_FILENAME_LEN) return -1;
85 
86  if (fg_text) {
87  if (HECMW_result_io_txt_write_by_fname(filename)) return -1;
88  } else {
89  if (HECMW_result_io_bin_write_by_fname(filename)) return -1;
90  }
91 
92  return 0;
93 }
94 
96  struct hecmwST_result_data *result,
97  int n_node, int n_elem, char *header, char *comment) {
98  char *basename, filename[HECMW_FILENAME_LEN + 1];
99  int fg_text, ret;
100 
101  if ((basename =
102  HECMW_ctrl_get_result_file(name_ID, ResIO.istep, &fg_text)) == NULL)
103  return -1;
104 
105  ret = snprintf(filename, HECMW_FILENAME_LEN + 1, "%s.%d", basename, ResIO.istep);
106  HECMW_free(basename);
107  if (ret > HECMW_FILENAME_LEN) return -1;
108 
109  if (fg_text) {
110  if (HECMW_result_io_txt_write_ST_by_fname(filename, result, n_node, n_elem,
111  header, comment))
112  return -1;
113  } else {
114  if (HECMW_result_io_bin_write_ST_by_fname(filename, result, n_node, n_elem,
115  header, comment))
116  return -1;
117  }
118 
119  return 0;
120 }
121 
122 int HECMW_result_write_by_addfname(char *name_ID, char *addfname) {
123  char *basename, filename[HECMW_FILENAME_LEN + 1];
124  int fg_text, myrank, ret;
125 
126  if ((basename = HECMW_ctrl_get_result_fileheader(name_ID, ResIO.istep,
127  &fg_text)) == NULL)
128  return -1;
129 
131  ret = snprintf(filename, HECMW_FILENAME_LEN + 1, "%s%s.%d.%d", basename,
132  addfname, myrank, ResIO.istep);
133  HECMW_free(basename);
134  if (ret > HECMW_FILENAME_LEN) return -1;
135 
136  if (fg_text) {
137  if (HECMW_result_io_txt_write_by_fname(filename)) return -1;
138  } else {
139  if (HECMW_result_io_bin_write_by_fname(filename)) return -1;
140  }
141 
142  return 0;
143 }
144 
145 int HECMW_result_checkfile_by_name(char *name_ID, int i_step) {
146  char *basename, filename[HECMW_FILENAME_LEN + 1];
147  int fg_text, ret;
148  FILE *fp;
149 
150  if ((basename = HECMW_ctrl_get_result_file(name_ID, i_step,
151  &fg_text)) == NULL)
152  return -1;
153 
154  ret = snprintf(filename, HECMW_FILENAME_LEN + 1, "%s.%d", basename, i_step);
155  HECMW_free(basename);
156  if (ret > HECMW_FILENAME_LEN) return -1;
157 
158  fp = fopen(filename, "r");
159  if (fp == NULL) return -1;
160  fclose(fp);
161 
162  return 0;
163 }
164 
166  struct hecmwST_result_data *result;
167 
168  if (HECMW_result_io_bin_judge_file(filename)) {
169  result = HECMW_result_io_bin_read_by_fname(filename);
170  } else {
171  result = HECMW_result_io_txt_read_by_fname(filename);
172  }
173 
174  return result;
175 }
176 
178  int i_step) {
179  char *basename, filename[HECMW_FILENAME_LEN + 1];
180  struct hecmwST_result_data *result;
181  int fg_text, ret;
182 
183  if ((basename = HECMW_ctrl_get_result_file(name_ID, i_step,
184  &fg_text)) == NULL)
185  return NULL;
186 
187  ret = snprintf(filename, HECMW_FILENAME_LEN + 1, "%s.%d", basename, i_step);
188  HECMW_free(basename);
189  if (ret > HECMW_FILENAME_LEN) return NULL;
190 
191  if ((result = HECMW_result_read_by_fname(filename)) == NULL) return NULL;
192 
193  return result;
194 }
195 
196 /*---------------------------------------------------------------------------*/
197 /* etc. */
198 /*---------------------------------------------------------------------------*/
199 
200 int HECMW_result_get_nnode(void) { return ResIO.nnode; }
201 
202 int HECMW_result_get_nelem(void) { return ResIO.nelem; }
203 
204 char *HECMW_result_get_header(char *buff) {
205  strcpy(buff, ResIO.head);
206  return buff;
207 }
208 
209 char *HECMW_result_get_comment(char *buff) {
210  strcpy(buff, ResIO.comment_line);
211  return buff;
212 }
213 
214 int *HECMW_result_get_nodeID(int *buff) {
215  int i;
216  for (i = 0; i < ResIO.nnode; i++) {
217  buff[i] = ResIO.node_global_ID[i];
218  }
219  return buff;
220 }
221 
222 int *HECMW_result_get_elemID(int *buff) {
223  int i;
224  for (i = 0; i < ResIO.nelem; i++) {
225  buff[i] = ResIO.elem_global_ID[i];
226  }
227  return buff;
228 }
229 
233 }
234 
238 }
239 
240 /*---------------------------------------------------------------------------*/
241 /* FORTRAN INTERFACE */
242 /*---------------------------------------------------------------------------*/
243 
244 void hecmw_result_init_if(int *n_node, int *n_elem, int *nodeID, int *elemID,
245  int *n_elem_type, int *elem_type_index, int *elem_type_item,
246  int *i_step, char *header, char *comment, int *err,
247  int len) {
248  char header_str[HECMW_HEADER_LEN + 1];
249  char comment_str[HECMW_MSG_LEN + 1];
250 
251  *err = 1;
252  if (HECMW_strcpy_f2c_r(header, len, header_str, sizeof(header_str)) == NULL)
253  return;
254  if (HECMW_strcpy_f2c_r(comment, len, comment_str, sizeof(comment_str)) == NULL)
255  return;
256  if (HECMW_result_io_init(*n_node, *n_elem, nodeID, elemID,
257  *n_elem_type, elem_type_index, elem_type_item,
258  *i_step, header_str, comment_str))
259  return;
260  *err = 0;
261 }
262 
263 void hecmw_result_init_if_(int *n_node, int *n_elem, int *nodeID, int *elemID,
264  int *n_elem_type, int *elem_type_index, int *elem_type_item,
265  int *i_step, char *header, char *comment, int *err,
266  int len) {
267  hecmw_result_init_if(n_node, n_elem, nodeID, elemID,
268  n_elem_type, elem_type_index, elem_type_item,
269  i_step, header, comment, err, len);
270 }
271 
272 void hecmw_result_init_if__(int *n_node, int *n_elem, int *nodeID, int *elemID,
273  int *n_elem_type, int *elem_type_index, int *elem_type_item,
274  int *i_step, char *header, char *comment, int *err,
275  int len) {
276  hecmw_result_init_if(n_node, n_elem, nodeID, elemID,
277  n_elem_type, elem_type_index, elem_type_item,
278  i_step, header, comment, err, len);
279 }
280 
281 void HECMW_RESULT_INIT_IF(int *n_node, int *n_elem, int *nodeID, int *elemID,
282  int *n_elem_type, int *elem_type_index, int *elem_type_item,
283  int *i_step, char *header, char *comment, int *err,
284  int len) {
285  hecmw_result_init_if(n_node, n_elem, nodeID, elemID,
286  n_elem_type, elem_type_index, elem_type_item,
287  i_step, header, comment, err, len);
288 }
289 
290 /*---------------------------------------------------------------------------*/
291 
292 void hecmw_result_finalize_if(int *err) {
293  *err = 1;
294  if (HECMW_result_finalize()) return;
295  *err = 0;
296 }
297 
299 
301 
303 
304 /*---------------------------------------------------------------------------*/
305 
306 void hecmw_result_add_if(int *dtype, int *n_dof, char *label,
307  double *ptr, int *err, int len) {
308  char label_str[HECMW_NAME_LEN + 1];
309 
310  *err = 1;
311 
312  if (HECMW_strcpy_f2c_r(label, len, label_str, sizeof(label_str)) == NULL)
313  return;
314 
315  if (HECMW_result_io_add(*dtype, *n_dof, label_str, ptr)) return;
316 
317  *err = 0;
318 }
319 
320 void hecmw_result_add_if_(int *dtype, int *n_dof, char *label,
321  double *ptr, int *err, int len) {
322  hecmw_result_add_if(dtype, n_dof, label, ptr, err, len);
323 }
324 
325 void hecmw_result_add_if__(int *dtype, int *n_dof, char *label,
326  double *ptr, int *err, int len) {
327  hecmw_result_add_if(dtype, n_dof, label, ptr, err, len);
328 }
329 
330 void HECMW_RESULT_ADD_IF(int *dtype, int *n_dof, char *label,
331  double *ptr, int *err, int len) {
332  hecmw_result_add_if(dtype, n_dof, label, ptr, err, len);
333 }
334 
335 /*----------------------------------------------------------------------------*/
336 
337 void hecmw_result_write_by_name_if(char *name_ID, int *err, int len) {
338  char name_ID_str[HECMW_NAME_LEN + 1];
339 
340  *err = 1;
341 
342  if (HECMW_strcpy_f2c_r(name_ID, len, name_ID_str, sizeof(name_ID_str)) ==
343  NULL)
344  return;
345 
346  if (HECMW_result_write_by_name(name_ID_str)) return;
347 
348  *err = 0;
349 }
350 
351 void hecmw_result_write_by_name_if_(char *name_ID, int *err, int len) {
352  hecmw_result_write_by_name_if(name_ID, err, len);
353 }
354 
355 void hecmw_result_write_by_name_if__(char *name_ID, int *err, int len) {
356  hecmw_result_write_by_name_if(name_ID, err, len);
357 }
358 
359 void HECMW_RESULT_WRITE_BY_NAME_IF(char *name_ID, int *err, int len) {
360  hecmw_result_write_by_name_if(name_ID, err, len);
361 }
362 
363 /*---------------------------------------------------------------------------*/
364 
365 void hecmw_result_write_by_addfname_if(char *name_ID, char *addfname, int *err,
366  int len1, int len2) {
367  char name_ID_str[HECMW_NAME_LEN + 1];
368  char addfname_str[HECMW_NAME_LEN + 1];
369 
370  *err = 1;
371 
372  if (HECMW_strcpy_f2c_r(name_ID, len1, name_ID_str, sizeof(name_ID_str)) ==
373  NULL)
374  return;
375  if (HECMW_strcpy_f2c_r(addfname, len2, addfname_str, sizeof(name_ID_str)) ==
376  NULL)
377  return;
378 
379  if (HECMW_result_write_by_addfname(name_ID_str, addfname_str)) return;
380 
381  *err = 0;
382 }
383 
384 void hecmw_result_write_by_addfname_if_(char *name_ID, char *addfname, int *err,
385  int len1, int len2) {
386  hecmw_result_write_by_addfname_if(name_ID, addfname, err, len1, len2);
387 }
388 
389 void hecmw_result_write_by_addfname_if__(char *name_ID, char *addfname,
390  int *err, int len1, int len2) {
391  hecmw_result_write_by_addfname_if(name_ID, addfname, err, len1, len2);
392 }
393 
394 void HECMW_RESULT_WRITE_BY_ADDFNAME_IF(char *name_ID, char *addfname, int *err,
395  int len1, int len2) {
396  hecmw_result_write_by_addfname_if(name_ID, addfname, err, len1, len2);
397 }
398 
399 /*----------------------------------------------------------------------------*/
400 
401 void hecmw_result_checkfile_by_name_if(char *name_ID, int *i_step, int *err, int len) {
402  char name_ID_str[HECMW_NAME_LEN + 1];
403 
404  *err = 1;
405 
406  if (HECMW_strcpy_f2c_r(name_ID, len, name_ID_str, sizeof(name_ID_str)) ==
407  NULL)
408  return;
409 
410  if (HECMW_result_checkfile_by_name(name_ID_str, *i_step)) return;
411 
412  *err = 0;
413 }
414 
415 void hecmw_result_checkfile_by_name_if_(char *name_ID, int *i_step, int *err, int len) {
416  hecmw_result_checkfile_by_name_if(name_ID, i_step, err, len);
417 }
418 
419 void hecmw_result_checkfile_by_name_if__(char *name_ID, int *i_step, int *err, int len) {
420  hecmw_result_checkfile_by_name_if(name_ID, i_step, err, len);
421 }
422 
423 void HECMW_RESULT_CHECKFILE_BY_NAME_IF(char *name_ID, int *i_step, int *err, int len) {
424  hecmw_result_checkfile_by_name_if(name_ID, i_step, err, len);
425 }
HECMW_result_free_elemID
void HECMW_result_free_elemID(void)
Definition: hecmw_result.c:235
hecmwST_result_data
Definition: hecmw_result.h:11
hecmwST_local_mesh::global_node_ID
int * global_node_ID
Definition: hecmw_struct.h:168
HECMW_result_get_comment
char * HECMW_result_get_comment(char *buff)
Definition: hecmw_result.c:209
hecmw_result_io_txt.h
hecmwST_result_data::global_label
char ** global_label
Definition: hecmw_result.h:21
HECMW_result_get_header
char * HECMW_result_get_header(char *buff)
Definition: hecmw_result.c:204
HECMW_RESULT_CHECKFILE_BY_NAME_IF
void HECMW_RESULT_CHECKFILE_BY_NAME_IF(char *name_ID, int *i_step, int *err, int len)
Definition: hecmw_result.c:423
hecmwST_result_io_data::node_global_ID
int * node_global_ID
Definition: hecmw_result_io.h:45
HECMW_result_io_finalize
void HECMW_result_io_finalize()
Definition: hecmw_result_io.c:57
HECMW_RESULT_ADD_IF
void HECMW_RESULT_ADD_IF(int *dtype, int *n_dof, char *label, double *ptr, int *err, int len)
Definition: hecmw_result.c:330
hecmw_result_write_by_addfname_if
void hecmw_result_write_by_addfname_if(char *name_ID, char *addfname, int *err, int len1, int len2)
Definition: hecmw_result.c:365
HECMW_result_io_bin_read_by_fname
struct hecmwST_result_data * HECMW_result_io_bin_read_by_fname(char *filename)
Definition: hecmw_result_io_bin.c:1024
HECMW_ctrl_get_result_file
char * HECMW_ctrl_get_result_file(char *name_ID, int istep, int *fg_text)
Definition: hecmw_control.c:2316
hecmw_result_finalize_if
void hecmw_result_finalize_if(int *err)
Definition: hecmw_result.c:292
HECMW_result_write_by_addfname
int HECMW_result_write_by_addfname(char *name_ID, char *addfname)
Definition: hecmw_result.c:122
hecmw_bin_io.h
hecmw_result_add_if
void hecmw_result_add_if(int *dtype, int *n_dof, char *label, double *ptr, int *err, int len)
Definition: hecmw_result.c:306
m_fstr::myrank
integer(kind=kint) myrank
PARALLEL EXECUTION.
Definition: m_fstr.f90:96
hecmwST_local_mesh::elem_type_item
int * elem_type_item
Definition: hecmw_struct.h:194
HECMW_result_read_by_fname
struct hecmwST_result_data * HECMW_result_read_by_fname(char *filename)
Definition: hecmw_result.c:165
hecmw_result.h
hecmwST_local_mesh
Definition: hecmw_struct.h:139
hecmw_result_io.h
HECMW_RESULT_FINALIZE_IF
void HECMW_RESULT_FINALIZE_IF(int *err)
Definition: hecmw_result.c:302
hecmw_result_add_if_
void hecmw_result_add_if_(int *dtype, int *n_dof, char *label, double *ptr, int *err, int len)
Definition: hecmw_result.c:320
hecmw_result_write_by_name_if
void hecmw_result_write_by_name_if(char *name_ID, int *err, int len)
Definition: hecmw_result.c:337
hecmwST_local_mesh::n_elem
int n_elem
Definition: hecmw_struct.h:184
HECMW_comm_get_rank
int HECMW_comm_get_rank(void)
Definition: hecmw_comm.c:707
hecmw_result_write_by_name_if__
void hecmw_result_write_by_name_if__(char *name_ID, int *err, int len)
Definition: hecmw_result.c:355
hecmwST_result_io_data::nelem
int nelem
Definition: hecmw_result_io.h:37
hecmw_result_write_by_addfname_if_
void hecmw_result_write_by_addfname_if_(char *name_ID, char *addfname, int *err, int len1, int len2)
Definition: hecmw_result.c:384
hecmwST_result_data::ne_component
int ne_component
Definition: hecmw_result.h:17
hecmwST_local_mesh::n_node
int n_node
Definition: hecmw_struct.h:161
hecmw_result_checkfile_by_name_if_
void hecmw_result_checkfile_by_name_if_(char *name_ID, int *i_step, int *err, int len)
Definition: hecmw_result.c:415
HECMW_result_write_ST_by_name
int HECMW_result_write_ST_by_name(char *name_ID, struct hecmwST_result_data *result, int n_node, int n_elem, char *header, char *comment)
Definition: hecmw_result.c:95
HECMW_RESULT_INIT_IF
void HECMW_RESULT_INIT_IF(int *n_node, int *n_elem, int *nodeID, int *elemID, int *n_elem_type, int *elem_type_index, int *elem_type_item, int *i_step, char *header, char *comment, int *err, int len)
Definition: hecmw_result.c:281
hecmwST_result_io_data::head
char head[HECMW_HEADER_LEN+1]
Definition: hecmw_result_io.h:38
HECMW_result_io_add
int HECMW_result_io_add(int dtype, int n_dof, char *label, double *ptr)
Definition: hecmw_result_io.c:287
HECMW_result_get_nnode
int HECMW_result_get_nnode(void)
Definition: hecmw_result.c:200
HECMW_NAME_LEN
#define HECMW_NAME_LEN
Definition: hecmw_config.h:70
HECMW_result_io_txt_write_ST_by_fname
int HECMW_result_io_txt_write_ST_by_fname(char *filename, struct hecmwST_result_data *result, int n_node, int n_elem, char *header, char *comment)
Definition: hecmw_result_io_txt.c:694
hecmw_config.h
hecmw_result_checkfile_by_name_if
void hecmw_result_checkfile_by_name_if(char *name_ID, int *i_step, int *err, int len)
Definition: hecmw_result.c:401
HECMW_result_finalize
int HECMW_result_finalize(void)
Definition: hecmw_result.c:64
HECMW_result_free_nodeID
void HECMW_result_free_nodeID(void)
Definition: hecmw_result.c:230
hecmwST_local_mesh::n_elem_type
int n_elem_type
Definition: hecmw_struct.h:192
hecmw_result_write_by_name_if_
void hecmw_result_write_by_name_if_(char *name_ID, int *err, int len)
Definition: hecmw_result.c:351
hecmwST_result_data::node_val_item
double * node_val_item
Definition: hecmw_result.h:25
hecmwST_result_io_data::nnode
int nnode
Definition: hecmw_result_io.h:36
HECMW_result_write_by_name
int HECMW_result_write_by_name(char *name_ID)
Definition: hecmw_result.c:74
hecmwST_local_mesh::elem_type_index
int * elem_type_index
Definition: hecmw_struct.h:193
HECMW_result_io_bin_write_by_fname
int HECMW_result_io_bin_write_by_fname(char *filename)
Definition: hecmw_result_io_bin.c:342
HECMW_result_io_bin_write_ST_by_fname
int HECMW_result_io_bin_write_ST_by_fname(char *filename, struct hecmwST_result_data *result, int n_node, int n_elem, char *header, char *comment)
Definition: hecmw_result_io_bin.c:654
hecmwST_result_data::nn_dof
int * nn_dof
Definition: hecmw_result.h:19
hecmw_result_init_if_
void hecmw_result_init_if_(int *n_node, int *n_elem, int *nodeID, int *elemID, int *n_elem_type, int *elem_type_index, int *elem_type_item, int *i_step, char *header, char *comment, int *err, int len)
Definition: hecmw_result.c:263
ResIO
struct hecmwST_result_io_data ResIO
Definition: hecmw_result_io.c:19
HECMW_result_get_elemID
int * HECMW_result_get_elemID(int *buff)
Definition: hecmw_result.c:222
hecmwST_result_data::nn_component
int nn_component
Definition: hecmw_result.h:16
hecmwST_result_data::elem_label
char ** elem_label
Definition: hecmw_result.h:23
HECMW_result_io_bin_judge_file
int HECMW_result_io_bin_judge_file(char *filename)
Definition: hecmw_result_io_bin.c:53
HECMW_result_io_init
int HECMW_result_io_init(int n_node, int n_elem, int *nodeID, int *elemID, int n_elem_type, int *elem_type_index, int *elem_type_item, int i_step, char *header, char *comment)
Definition: hecmw_result_io.c:161
HECMW_RESULT_WRITE_BY_ADDFNAME_IF
void HECMW_RESULT_WRITE_BY_ADDFNAME_IF(char *name_ID, char *addfname, int *err, int len1, int len2)
Definition: hecmw_result.c:394
HECMW_result_checkfile_by_name
int HECMW_result_checkfile_by_name(char *name_ID, int i_step)
Definition: hecmw_result.c:145
hecmwST_result_io_data::elem_global_ID
int * elem_global_ID
Definition: hecmw_result_io.h:46
hecmwST_result_io_data::comment_line
char comment_line[HECMW_MSG_LEN+1]
Definition: hecmw_result_io.h:39
HECMW_result_get_nelem
int HECMW_result_get_nelem(void)
Definition: hecmw_result.c:202
hecmw_result_finalize_if_
void hecmw_result_finalize_if_(int *err)
Definition: hecmw_result.c:298
HECMW_RESULT_WRITE_BY_NAME_IF
void HECMW_RESULT_WRITE_BY_NAME_IF(char *name_ID, int *err, int len)
Definition: hecmw_result.c:359
hecmwST_result_io_data::istep
int istep
Definition: hecmw_result_io.h:35
hecmw_result_write_by_addfname_if__
void hecmw_result_write_by_addfname_if__(char *name_ID, char *addfname, int *err, int len1, int len2)
Definition: hecmw_result.c:389
hecmw_result_checkfile_by_name_if__
void hecmw_result_checkfile_by_name_if__(char *name_ID, int *i_step, int *err, int len)
Definition: hecmw_result.c:419
hecmw_result_init_if
void hecmw_result_init_if(int *n_node, int *n_elem, int *nodeID, int *elemID, int *n_elem_type, int *elem_type_index, int *elem_type_item, int *i_step, char *header, char *comment, int *err, int len)
Definition: hecmw_result.c:244
hecmwST_result_data::global_val_item
double * global_val_item
Definition: hecmw_result.h:24
HECMW_strcpy_f2c_r
char * HECMW_strcpy_f2c_r(const char *fstr, int flen, char *buf, int bufsize)
Definition: hecmw_lib_fc.c:45
hecmwST_result_data::node_label
char ** node_label
Definition: hecmw_result.h:22
hecmwST_result_data::elem_val_item
double * elem_val_item
Definition: hecmw_result.h:26
HECMW_result_init
int HECMW_result_init(struct hecmwST_local_mesh *hecMESH, int i_step, char *header, char *comment)
Definition: hecmw_result.c:56
HECMW_result_io_txt_read_by_fname
struct hecmwST_result_data * HECMW_result_io_txt_read_by_fname(char *filename)
Definition: hecmw_result_io_txt.c:1208
HECMW_result_free
void HECMW_result_free(struct hecmwST_result_data *result)
Definition: hecmw_result.c:21
hecmw_result_init_if__
void hecmw_result_init_if__(int *n_node, int *n_elem, int *nodeID, int *elemID, int *n_elem_type, int *elem_type_index, int *elem_type_item, int *i_step, char *header, char *comment, int *err, int len)
Definition: hecmw_result.c:272
hecmw_result_add_if__
void hecmw_result_add_if__(int *dtype, int *n_dof, char *label, double *ptr, int *err, int len)
Definition: hecmw_result.c:325
HECMW_result_io_txt_write_by_fname
int HECMW_result_io_txt_write_by_fname(char *filename)
Definition: hecmw_result_io_txt.c:340
hecmwST_result_data::ng_component
int ng_component
Definition: hecmw_result.h:15
NULL
#define NULL
Definition: hecmw_io_nastran.c:30
HECMW_free
#define HECMW_free(ptr)
Definition: hecmw_malloc.h:24
hecmwST_result_data::ng_dof
int * ng_dof
Definition: hecmw_result.h:18
HECMW_FILENAME_LEN
#define HECMW_FILENAME_LEN
Definition: hecmw_config.h:72
hecmw_result_io_bin.h
HECMW_result_get_nodeID
int * HECMW_result_get_nodeID(int *buff)
Definition: hecmw_result.c:214
hecmwST_local_mesh::global_elem_ID
int * global_elem_ID
Definition: hecmw_struct.h:190
hecmw_util.h
hecmw_result_finalize_if__
void hecmw_result_finalize_if__(int *err)
Definition: hecmw_result.c:300
HECMW_MSG_LEN
#define HECMW_MSG_LEN
Definition: hecmw_config.h:74
HECMW_HEADER_LEN
#define HECMW_HEADER_LEN
Definition: hecmw_config.h:68
HECMW_result_read_by_name
struct hecmwST_result_data * HECMW_result_read_by_name(char *name_ID, int i_step)
Definition: hecmw_result.c:177
HECMW_ctrl_get_result_fileheader
char * HECMW_ctrl_get_result_fileheader(char *name_ID, int istep, int *fg_text)
Definition: hecmw_control.c:2321
hecmwST_result_data::ne_dof
int * ne_dof
Definition: hecmw_result.h:20