 |
FrontISTR
5.7.0
Large-scale structural analysis program with finit element method
|
Go to the documentation of this file.
13 static int NNode, NElem;
19 static int set_ng_component(
void *dst) {
20 *((
int *)dst) =
Result->ng_component;
24 static int set_ng_dof(
void *dst) {
28 if (
Result->ng_component <= 0)
return 0;
32 memcpy(dst, src, size);
37 static int set_global_label(
void *dst) {
40 if (
Result->ng_component <= 0)
return 0;
42 for (i = 0; i <
Result->ng_component; i++) {
44 char *src =
Result->global_label[i];
51 static int set_global_val_item(
void *dst) {
55 if (
Result->ng_component <= 0)
return 0;
58 for (i = 0; i <
Result->ng_component; i++) {
61 src =
Result->global_val_item;
62 size =
sizeof(*
Result->global_val_item) * n;
63 memcpy(dst, src, size);
68 static int set_nn_component(
void *dst) {
69 *((
int *)dst) =
Result->nn_component;
73 static int set_nn_dof(
void *dst) {
77 if (
Result->nn_component <= 0)
return 0;
81 memcpy(dst, src, size);
86 static int set_node_label(
void *dst) {
89 if (
Result->nn_component <= 0)
return 0;
91 for (i = 0; i <
Result->nn_component; i++) {
93 char *src =
Result->node_label[i];
100 static int set_node_val_item(
void *dst) {
104 if (
Result->nn_component <= 0)
return 0;
107 for (i = 0; i <
Result->nn_component; i++) {
110 src =
Result->node_val_item;
111 size =
sizeof(*
Result->node_val_item) * n * NNode;
112 memcpy(dst, src, size);
117 static int set_ne_component(
void *dst) {
118 *((
int *)dst) =
Result->ne_component;
122 static int set_ne_dof(
void *dst) {
126 if (
Result->ne_component <= 0)
return 0;
130 memcpy(dst, src, size);
135 static int set_elem_label(
void *dst) {
138 if (
Result->ne_component <= 0)
return 0;
140 for (i = 0; i <
Result->ne_component; i++) {
142 char *src =
Result->elem_label[i];
149 static int set_elem_val_item(
void *dst) {
153 if (
Result->ne_component <= 0)
return 0;
156 for (i = 0; i <
Result->ne_component; i++) {
159 src =
Result->elem_val_item;
160 size =
sizeof(*
Result->elem_val_item) * n * NElem;
161 memcpy(dst, src, size);
172 static struct func_table {
180 {
"hecmwST_result_data",
"ng_component", set_ng_component},
181 {
"hecmwST_result_data",
"ng_dof", set_ng_dof},
182 {
"hecmwST_result_data",
"global_label", set_global_label},
183 {
"hecmwST_result_data",
"global_val_item", set_global_val_item},
185 {
"hecmwST_result_data",
"nn_component", set_nn_component},
186 {
"hecmwST_result_data",
"nn_dof", set_nn_dof},
187 {
"hecmwST_result_data",
"node_label", set_node_label},
188 {
"hecmwST_result_data",
"node_val_item", set_node_val_item},
190 {
"hecmwST_result_data",
"ne_component", set_ne_component},
191 {
"hecmwST_result_data",
"ne_dof", set_ne_dof},
192 {
"hecmwST_result_data",
"elem_label", set_elem_label},
193 {
"hecmwST_result_data",
"elem_val_item", set_elem_val_item},
196 static const int NFUNC =
sizeof(functions) /
sizeof(functions[0]);
198 static SetFunc get_set_func(
char *struct_name,
char *var_name) {
201 for (i = 0; i < NFUNC; i++) {
202 if (strcmp(functions[i].struct_name, struct_name) == 0 &&
203 strcmp(functions[i].var_name, var_name) == 0) {
204 return functions[i].set_func;
213 int n_node,
int n_elem) {
228 int *err,
int len_struct,
int len_var) {
238 "hecmw_result_copy_c2f_set_if(): 'result' has not initialized yet");
241 if (struct_name ==
NULL) {
243 "hecmw_result_copy_c2f_set_if(): 'sname' is NULL");
246 if (var_name ==
NULL) {
248 "hecmw_result_copy_c2f_set_if(): 'vname' is NULL");
253 "hecmw_result_copy_c2f_set_if(): 'dst' is NULL");
265 func = get_set_func(sname, vname);
268 "hecmw_result_copy_c2f_set_if(): SetFunc not found");
280 int *err,
int len_struct,
int len_var) {
286 void *dst,
int *err,
int len_struct,
293 int *err,
int len_struct,
int len_var) {
301 int *n_node,
int *n_elem,
int *err,
int len) {
322 int *n_node,
int *n_elem,
int *err,
329 int *n_node,
int *n_elem,
int *err,
336 int *n_node,
int *n_elem,
int *err,
int len) {
void HECMW_result_free_elemID(void)
int HECMW_result_copy_c2f_init(struct hecmwST_result_data *result_data, int n_node, int n_elem)
void hecmw_result_read_finalize_if__(int *err)
void HECMW_RESULT_READ_FINALIZE_IF(int *err)
void HECMW_RESULT_READ_BY_NAME_IF(char *name_ID, int *i_step, int *n_node, int *n_elem, int *err, int len)
void hecmw_result_copy_c2f_set_if__(char *struct_name, char *var_name, void *dst, int *err, int len_struct, int len_var)
int HECMW_strcpy_c2f(const char *cstr, char *fstr, int flen)
void hecmw_result_copy_c2f_set_if_(char *struct_name, char *var_name, void *dst, int *err, int len_struct, int len_var)
int HECMW_result_get_nnode(void)
void hecmw_result_read_by_name_if__(char *name_ID, int *i_step, int *n_node, int *n_elem, int *err, int len)
void hecmw_result_read_finalize_if(int *err)
void hecmw_result_copy_c2f_set_if(char *struct_name, char *var_name, void *dst, int *err, int len_struct, int len_var)
void HECMW_result_free_nodeID(void)
void HECMW_RESULT_COPY_C2F_SET_IF(char *struct_name, char *var_name, void *dst, int *err, int len_struct, int len_var)
void hecmw_result_read_by_name_if_(char *name_ID, int *i_step, int *n_node, int *n_elem, int *err, int len)
int HECMW_result_copy_c2f_finalize(void)
int HECMW_result_get_nelem(void)
char * HECMW_strcpy_f2c_r(const char *fstr, int flen, char *buf, int bufsize)
struct _result_struct Result
void HECMW_result_free(struct hecmwST_result_data *result)
int HECMW_set_error(int errorno, const char *fmt,...)
void hecmw_result_read_finalize_if_(int *err)
void hecmw_result_read_by_name_if(char *name_ID, int *i_step, int *n_node, int *n_elem, int *err, int len)
struct hecmwST_result_data * HECMW_result_read_by_name(char *name_ID, int i_step)