FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_dist_alloc.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 <errno.h>
9 #include <ctype.h>
10 #include "hecmw_struct.h"
11 #include "hecmw_util.h"
12 #include "hecmw_dist_alloc.h"
13 
14 /*============================================================================*/
15 /* initialize structures for local mesh */
16 /*============================================================================*/
17 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
18 /* global information */
19 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
20 static int init_struct_global(struct hecmwST_local_mesh *mesh) {
21  HECMW_assert(mesh);
22 
23  memset(mesh->gridfile, 0, sizeof(mesh->gridfile));
24  mesh->hecmw_n_file = 0;
25  mesh->files = NULL;
26  memset(mesh->header, 0, sizeof(mesh->header));
27 
34 
35  mesh->zero_temp = 0.0;
36 
37  return 0;
38 }
39 
40 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
41 /* node information */
42 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
43 static int init_struct_node(struct hecmwST_local_mesh *mesh) {
44  HECMW_assert(mesh);
45 
46  mesh->n_node = 0;
47  mesh->n_node_gross = 0;
48  mesh->nn_middle = 0;
49  mesh->nn_internal = 0;
51 
52  mesh->node = NULL;
53  mesh->node_ID = NULL;
55 
56  mesh->n_dof = 0;
57  mesh->n_dof_grp = 0;
58  mesh->n_dof_tot = 0;
61 
64 
67 
68  return 0;
69 }
70 
71 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
72 /* element information */
73 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
74 static int init_struct_elem(struct hecmwST_local_mesh *mesh) {
75  HECMW_assert(mesh);
76 
77  mesh->n_elem = 0;
78  mesh->n_elem_gross = 0;
79  mesh->ne_internal = 0;
81 
82  mesh->elem_ID = NULL;
84 
85  mesh->n_elem_type = 0;
86  mesh->elem_type = NULL;
89 
92 
93  mesh->section_ID = NULL;
94 
95  mesh->n_elem_mat_ID = 0;
98 
101 
104 
105  return 0;
106 }
107 
108 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
109 /* domain & communication information */
110 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
111 static int init_struct_comm(struct hecmwST_local_mesh *mesh) {
112  HECMW_assert(mesh);
113 
114  mesh->zero = 0;
115  mesh->PETOT = 0;
116  mesh->PEsmpTOT = 0;
117  mesh->my_rank = 0;
118  mesh->errnof = 0;
119  mesh->n_subdomain = 0;
120 
121  mesh->n_neighbor_pe = 0;
122  mesh->neighbor_pe = NULL;
123 
125  mesh->import_item = NULL;
127  mesh->export_item = NULL;
129  mesh->shared_item = NULL;
130 
131  return 0;
132 }
133 
134 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
135 /* adaptation information */
136 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
137 static int init_struct_adapt(struct hecmwST_local_mesh *mesh) {
138  HECMW_assert(mesh);
139 
140  mesh->coarse_grid_level = 0;
141  mesh->n_adapt = 0;
145  mesh->adapt_type = NULL;
146  mesh->adapt_level = NULL;
150 
151  return 0;
152 }
153 
154 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
155 /* refinement information */
156 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
157 static int init_struct_refine(struct hecmwST_local_mesh *mesh) {
158  HECMW_assert(mesh);
159 
160  mesh->n_refine = 0;
166 
167  return 0;
168 }
169 
170 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
171 /* section information */
172 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
173 static int init_struct_sect(struct hecmwST_local_mesh *mesh) {
174  HECMW_assert(mesh && mesh->section);
175 
176  mesh->section->n_sect = 0;
185 
186  return 0;
187 }
188 
189 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
190 /* material information */
191 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
192 static int init_struct_mat(struct hecmwST_local_mesh *mesh) {
193  HECMW_assert(mesh && mesh->material);
194 
195  mesh->material->n_mat = 0;
196  mesh->material->n_mat_item = 0;
198  mesh->material->n_mat_table = 0;
205 
206  return 0;
207 }
208 
209 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
210 /* MPC information */
211 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
212 static int init_struct_mpc(struct hecmwST_local_mesh *mesh) {
213  HECMW_assert(mesh && mesh->mpc);
214 
215  mesh->mpc->n_mpc = 0;
216  mesh->mpc->mpc_index = NULL;
217  mesh->mpc->mpc_item = NULL;
218  mesh->mpc->mpc_dof = NULL;
219  mesh->mpc->mpc_val = NULL;
220  mesh->mpc->mpc_const = NULL;
221 
222  return 0;
223 }
224 
225 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
226 /* amplitude information */
227 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
228 static int init_struct_amp(struct hecmwST_local_mesh *mesh) {
229  HECMW_assert(mesh && mesh->amp);
230 
231  mesh->amp->n_amp = 0;
232  mesh->amp->amp_name = NULL;
236  mesh->amp->amp_index = NULL;
237  mesh->amp->amp_val = NULL;
238  mesh->amp->amp_table = NULL;
239 
240  return 0;
241 }
242 
243 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
244 /* node group information */
245 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
246 static int init_struct_node_grp(struct hecmwST_local_mesh *mesh) {
247  HECMW_assert(mesh && mesh->node_group);
248 
249  mesh->node_group->n_grp = 0;
253 
254  mesh->node_group->n_bc = 0;
255  mesh->node_group->bc_grp_ID = 0;
258  mesh->node_group->bc_grp_dof = 0;
259  mesh->node_group->bc_grp_val = 0;
260 
261  return 0;
262 }
263 
264 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
265 /* element group information */
266 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
267 static int init_struct_elem_grp(struct hecmwST_local_mesh *mesh) {
268  HECMW_assert(mesh && mesh->elem_group);
269 
270  mesh->elem_group->n_grp = 0;
274 
275  mesh->elem_group->n_bc = 0;
280 
281  return 0;
282 }
283 
284 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
285 /* surface group information */
286 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
287 static int init_struct_surf_grp(struct hecmwST_local_mesh *mesh) {
288  HECMW_assert(mesh && mesh->surf_group);
289 
290  mesh->surf_group->n_grp = 0;
294 
295  mesh->surf_group->n_bc = 0;
300 
301  return 0;
302 }
303 
304 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
305 /* contact information */
306 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
307 static int init_struct_contact_pair(struct hecmwST_local_mesh *mesh) {
308  HECMW_assert(mesh && mesh->contact_pair);
309 
310  mesh->contact_pair->n_pair = 0;
316 
317  return 0;
318 }
319 
320 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
321 /* initialize structures for local mesh */
322 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
325 
326  /* global information */
327  if (init_struct_global(mesh)) {
328  return -1;
329  }
330 
331  /* node information */
332  if (init_struct_node(mesh)) {
333  return -1;
334  }
335 
336  /* element information */
337  if (init_struct_elem(mesh)) {
338  return -1;
339  }
340 
341  /* domain & communication information */
342  if (init_struct_comm(mesh)) {
343  return -1;
344  }
345 
346  /* adaptation information */
347  if (init_struct_adapt(mesh)) {
348  return -1;
349  }
350 
351  /* refinement information */
352  if (init_struct_refine(mesh)) {
353  return -1;
354  }
355 
356  /* section information */
357  if (init_struct_sect(mesh)) {
358  return -1;
359  }
360 
361  /* material information */
362  if (init_struct_mat(mesh)) {
363  return -1;
364  }
365 
366  /* MPC information */
367  if (init_struct_mpc(mesh)) {
368  return -1;
369  }
370 
371  /* amplitude information */
372  if (init_struct_amp(mesh)) {
373  return -1;
374  }
375 
376  /* node group information */
377  if (init_struct_node_grp(mesh)) {
378  return -1;
379  }
380 
381  /* element group information */
382  if (init_struct_elem_grp(mesh)) {
383  return -1;
384  }
385 
386  /* surface group information */
387  if (init_struct_surf_grp(mesh)) {
388  return -1;
389  }
390 
391  /* contact information */
392  if (init_struct_contact_pair(mesh)) {
393  return -1;
394  }
395 
396  return 0;
397 }
398 
399 /*============================================================================*/
400 /* allocate structures for local mesh */
401 /*============================================================================*/
403  struct hecmwST_local_mesh *mesh;
404 
405  /* local mesh < hecmwST_local_mesh > */
406  if ((mesh = (struct hecmwST_local_mesh *)HECMW_calloc(
407  1, sizeof(struct hecmwST_local_mesh))) == NULL) {
408  HECMW_set_error(errno, "");
409  return NULL;
410  }
411 
412  /* section information < hecmwST_section > */
413  if ((mesh->section = (struct hecmwST_section *)HECMW_calloc(
414  1, sizeof(struct hecmwST_section))) == NULL) {
415  HECMW_set_error(errno, "");
416  return NULL;
417  }
418 
419  /* material information < hecmwST_material > */
420  if ((mesh->material = (struct hecmwST_material *)HECMW_calloc(
421  1, sizeof(struct hecmwST_material))) == NULL) {
422  HECMW_set_error(errno, "");
423  return NULL;
424  }
425 
426  /* MPC information < hecmwST_mpc > */
427  if ((mesh->mpc = (struct hecmwST_mpc *)HECMW_calloc(
428  1, sizeof(struct hecmwST_mpc))) == NULL) {
429  HECMW_set_error(errno, "");
430  return NULL;
431  }
432 
433  /* amplitude information < hecmwST_amplitude > */
434  if ((mesh->amp = (struct hecmwST_amplitude *)HECMW_calloc(
435  1, sizeof(struct hecmwST_amplitude))) == NULL) {
436  HECMW_set_error(errno, "");
437  return NULL;
438  }
439 
440  /* node group information < hecmwST_node_grp > */
441  if ((mesh->node_group = (struct hecmwST_node_grp *)HECMW_calloc(
442  1, sizeof(struct hecmwST_node_grp))) == NULL) {
443  HECMW_set_error(errno, "");
444  return NULL;
445  }
446 
447  /* element group information < hecmwST_elem_grp > */
448  if ((mesh->elem_group = (struct hecmwST_elem_grp *)HECMW_calloc(
449  1, sizeof(struct hecmwST_elem_grp))) == NULL) {
450  HECMW_set_error(errno, "");
451  return NULL;
452  }
453 
454  /* surface group information < hecmwST_surf_grp > */
455  if ((mesh->surf_group = (struct hecmwST_surf_grp *)HECMW_calloc(
456  1, sizeof(struct hecmwST_surf_grp))) == NULL) {
457  HECMW_set_error(errno, "");
458  return NULL;
459  }
460 
461  /* contact information < hecmwST_contact_pair > */
463  1, sizeof(struct hecmwST_contact_pair))) == NULL) {
464  HECMW_set_error(errno, "");
465  return NULL;
466  }
467 
468  /* origin of refined nodes < hecmwST_refine_origin > */
469  /* allocated only when refinement is performed */
471 
472  /* initialization */
473  if (HECMW_dist_init(mesh)) {
474  return NULL;
475  }
476 
477  return mesh;
478 }
hecmwST_local_mesh::my_rank
int my_rank
Definition: hecmw_struct.h:212
hecmwST_local_mesh::mpc
struct hecmwST_mpc * mpc
Definition: hecmw_struct.h:247
hecmwST_local_mesh::global_node_ID
int * global_node_ID
Definition: hecmw_struct.h:168
hecmwST_local_mesh::refine_origin
struct hecmwST_refine_origin * refine_origin
Definition: hecmw_struct.h:253
hecmwST_local_mesh::section_ID
int * section_ID
Definition: hecmw_struct.h:197
hecmwST_mpc
Definition: hecmw_struct.h:48
hecmwST_local_mesh::hecmw_flag_partcontact
int hecmw_flag_partcontact
Definition: hecmw_struct.h:148
hecmwST_local_mesh::hecmw_n_file
int hecmw_n_file
Definition: hecmw_struct.h:155
hecmwST_local_mesh::shared_index
int * shared_index
Definition: hecmw_struct.h:221
hecmwST_local_mesh::errnof
int errnof
Definition: hecmw_struct.h:213
hecmwST_node_grp::bc_grp_dof
int * bc_grp_dof
Definition: hecmw_struct.h:88
hecmwST_amplitude::amp_val
double * amp_val
Definition: hecmw_struct.h:71
hecmwST_local_mesh::nn_middle
int nn_middle
Definition: hecmw_struct.h:163
hecmwST_node_grp::n_grp
int n_grp
Definition: hecmw_struct.h:76
hecmwST_section::sect_R_index
int * sect_R_index
Definition: hecmw_struct.h:34
hecmwST_amplitude::amp_index
int * amp_index
Definition: hecmw_struct.h:70
hecmwST_local_mesh::node_new2old
int * node_new2old
Definition: hecmw_struct.h:240
hecmwST_local_mesh::n_dof_tot
int n_dof_tot
Definition: hecmw_struct.h:173
hecmwST_material::n_mat_subitem
int n_mat_subitem
Definition: hecmw_struct.h:38
hecmwST_surf_grp::bc_grp_ID
int * bc_grp_ID
Definition: hecmw_struct.h:113
hecmwST_local_mesh::hecmw_flag_partdepth
int hecmw_flag_partdepth
Definition: hecmw_struct.h:146
hecmwST_material::n_mat_table
int n_mat_table
Definition: hecmw_struct.h:39
hecmwST_elem_grp::bc_grp_index
int * bc_grp_index
Definition: hecmw_struct.h:102
hecmwST_local_mesh::elem_node_item
int * elem_node_item
Definition: hecmw_struct.h:196
hecmwST_local_mesh::elem_old2new
int * elem_old2new
Definition: hecmw_struct.h:241
hecmwST_amplitude::amp_table
double * amp_table
Definition: hecmw_struct.h:72
hecmwST_local_mesh::shared_item
int * shared_item
Definition: hecmw_struct.h:222
hecmwST_local_mesh::gridfile
char gridfile[HECMW_FILENAME_LEN+1]
Definition: hecmw_struct.h:154
hecmwST_local_mesh::elem_mat_int_val
double * elem_mat_int_val
Definition: hecmw_struct.h:203
hecmwST_local_mesh::elem_group
struct hecmwST_elem_grp * elem_group
Definition: hecmw_struct.h:250
hecmwST_local_mesh::elem_new2old
int * elem_new2old
Definition: hecmw_struct.h:242
mesh
struct hecmwST_local_mesh * mesh
Definition: hecmw_repart.h:71
hecmwST_local_mesh::adapt_parent
int * adapt_parent
Definition: hecmw_struct.h:233
hecmwST_local_mesh::n_node_gross
int n_node_gross
Definition: hecmw_struct.h:162
hecmwST_local_mesh::elem_mat_int_index
int * elem_mat_int_index
Definition: hecmw_struct.h:202
hecmwST_local_mesh::adapt_parent_type
int * adapt_parent_type
Definition: hecmw_struct.h:229
hecmwST_section::sect_I_index
int * sect_I_index
Definition: hecmw_struct.h:32
hecmwST_node_grp::bc_grp_val
double * bc_grp_val
Definition: hecmw_struct.h:89
hecmwST_local_mesh::elem_type_item
int * elem_type_item
Definition: hecmw_struct.h:194
hecmwST_local_mesh::node_ID
int * node_ID
Definition: hecmw_struct.h:167
hecmwST_local_mesh::hecmw_flag_parttype
int hecmw_flag_parttype
Definition: hecmw_struct.h:142
hecmwST_mpc::mpc_item
int * mpc_item
Definition: hecmw_struct.h:51
hecmwST_local_mesh
Definition: hecmw_struct.h:139
hecmwST_local_mesh::elem_ID
int * elem_ID
Definition: hecmw_struct.h:189
hecmwST_local_mesh::adapt_type
int * adapt_type
Definition: hecmw_struct.h:230
hecmwST_surf_grp::bc_grp_val
double * bc_grp_val
Definition: hecmw_struct.h:118
hecmwST_amplitude::amp_type_time
int * amp_type_time
Definition: hecmw_struct.h:64
hecmwST_amplitude::amp_type_value
int * amp_type_value
Definition: hecmw_struct.h:67
hecmwST_local_mesh::elem_type
int * elem_type
Definition: hecmw_struct.h:191
hecmwST_mpc::mpc_val
double * mpc_val
Definition: hecmw_struct.h:53
hecmwST_local_mesh::n_elem
int n_elem
Definition: hecmw_struct.h:184
hecmwST_surf_grp::grp_index
int * grp_index
Definition: hecmw_struct.h:109
hecmwST_material::mat_subitem_index
int * mat_subitem_index
Definition: hecmw_struct.h:42
hecmwST_local_mesh::neighbor_pe
int * neighbor_pe
Definition: hecmw_struct.h:216
hecmwST_local_mesh::ne_internal
int ne_internal
Definition: hecmw_struct.h:186
hecmwST_mpc::mpc_const
double * mpc_const
Definition: hecmw_struct.h:54
hecmwST_local_mesh::export_item
int * export_item
Definition: hecmw_struct.h:220
hecmwST_local_mesh::node_dof_item
int * node_dof_item
Definition: hecmw_struct.h:175
hecmwST_mpc::mpc_dof
int * mpc_dof
Definition: hecmw_struct.h:52
hecmwST_local_mesh::export_index
int * export_index
Definition: hecmw_struct.h:219
hecmwST_elem_grp::bc_grp_val
double * bc_grp_val
Definition: hecmw_struct.h:103
hecmwST_material::mat_table_index
int * mat_table_index
Definition: hecmw_struct.h:43
hecmwST_local_mesh::import_item
int * import_item
Definition: hecmw_struct.h:218
hecmwST_surf_grp::grp_item
int * grp_item
Definition: hecmw_struct.h:111
hecmwST_local_mesh::node_val_index
int * node_val_index
Definition: hecmw_struct.h:177
hecmwST_local_mesh::node_old2new
int * node_old2new
Definition: hecmw_struct.h:239
HECMW_calloc
#define HECMW_calloc(nmemb, size)
Definition: hecmw_malloc.h:21
hecmwST_local_mesh::coarse_grid_level
int coarse_grid_level
Definition: hecmw_struct.h:225
hecmwST_local_mesh::n_node
int n_node
Definition: hecmw_struct.h:161
hecmw_struct.h
hecmwST_local_mesh::node
double * node
Definition: hecmw_struct.h:170
hecmwST_section::sect_opt
int * sect_opt
Definition: hecmw_struct.h:23
hecmwST_amplitude
Definition: hecmw_struct.h:57
hecmwST_elem_grp
Definition: hecmw_struct.h:92
hecmwST_contact_pair::slave_orisgrp_id
int * slave_orisgrp_id
Definition: hecmw_struct.h:129
hecmwST_local_mesh::n_node_refine_hist
int * n_node_refine_hist
Definition: hecmw_struct.h:243
hecmwST_local_mesh::PETOT
int PETOT
Definition: hecmw_struct.h:210
hecmwST_local_mesh::when_i_was_refined_elem
int * when_i_was_refined_elem
Definition: hecmw_struct.h:228
hecmw_dist_alloc.h
hecmwST_local_mesh::node_dof_index
int * node_dof_index
Definition: hecmw_struct.h:174
hecmwST_local_mesh::n_elem_mat_ID
int n_elem_mat_ID
Definition: hecmw_struct.h:200
hecmwST_contact_pair::n_pair
int n_pair
Definition: hecmw_struct.h:122
hecmwST_section::sect_mat_ID_index
int * sect_mat_ID_index
Definition: hecmw_struct.h:30
hecmwST_amplitude::n_amp
int n_amp
Definition: hecmw_struct.h:58
hecmwST_local_mesh::material
struct hecmwST_material * material
Definition: hecmw_struct.h:246
hecmwST_local_mesh::node_val_item
double * node_val_item
Definition: hecmw_struct.h:178
hecmwST_local_mesh::elem_mat_ID_index
int * elem_mat_ID_index
Definition: hecmw_struct.h:198
hecmwST_material::mat_temp
double * mat_temp
Definition: hecmw_struct.h:45
hecmwST_local_mesh::hecmw_flag_adapt
int hecmw_flag_adapt
Definition: hecmw_struct.h:140
hecmwST_mpc::n_mpc
int n_mpc
Definition: hecmw_struct.h:49
hecmwST_surf_grp::n_grp
int n_grp
Definition: hecmw_struct.h:107
hecmwST_local_mesh::amp
struct hecmwST_amplitude * amp
Definition: hecmw_struct.h:248
hecmwST_local_mesh::zero_temp
double zero_temp
Definition: hecmw_struct.h:158
hecmwST_surf_grp::bc_grp_index
int * bc_grp_index
Definition: hecmw_struct.h:117
hecmwST_local_mesh::node_internal_list
int * node_internal_list
Definition: hecmw_struct.h:165
hecmwST_local_mesh::elem_val_index
int * elem_val_index
Definition: hecmw_struct.h:204
hecmwST_local_mesh::adapt_level
int * adapt_level
Definition: hecmw_struct.h:231
hecmwST_local_mesh::elem_node_index
int * elem_node_index
Definition: hecmw_struct.h:195
hecmwST_local_mesh::n_elem_type
int n_elem_type
Definition: hecmw_struct.h:192
hecmwST_section::sect_type
int * sect_type
Definition: hecmw_struct.h:17
hecmwST_section
Definition: hecmw_struct.h:11
hecmwST_node_grp::n_bc
int n_bc
Definition: hecmw_struct.h:81
hecmwST_section::n_sect
int n_sect
Definition: hecmw_struct.h:15
HECMW_dist_init
int HECMW_dist_init(struct hecmwST_local_mesh *mesh)
Definition: hecmw_dist_alloc.c:323
hecmwST_local_mesh::PEsmpTOT
int PEsmpTOT
Definition: hecmw_struct.h:211
hecmwST_elem_grp::grp_item
int * grp_item
Definition: hecmw_struct.h:96
hecmwST_node_grp::grp_index
int * grp_index
Definition: hecmw_struct.h:78
hecmwST_elem_grp::grp_name
char ** grp_name
Definition: hecmw_struct.h:94
hecmwST_section::sect_I_item
int * sect_I_item
Definition: hecmw_struct.h:33
hecmwST_local_mesh::hecmw_flag_initcon
int hecmw_flag_initcon
Definition: hecmw_struct.h:141
hecmwST_local_mesh::adapt_children_index
int * adapt_children_index
Definition: hecmw_struct.h:234
hecmwST_local_mesh::elem_type_index
int * elem_type_index
Definition: hecmw_struct.h:193
hecmwST_contact_pair::type
int * type
Definition: hecmw_struct.h:124
hecmwST_node_grp::grp_item
int * grp_item
Definition: hecmw_struct.h:79
hecmwST_local_mesh::elem_val_item
double * elem_val_item
Definition: hecmw_struct.h:205
hecmwST_amplitude::amp_name
char ** amp_name
Definition: hecmw_struct.h:59
hecmwST_section::sect_mat_ID_item
int * sect_mat_ID_item
Definition: hecmw_struct.h:31
hecmwST_material::n_mat
int n_mat
Definition: hecmw_struct.h:36
hecmwST_node_grp
Definition: hecmw_struct.h:75
hecmwST_local_mesh::elem_mat_ID_item
int * elem_mat_ID_item
Definition: hecmw_struct.h:199
hecmwST_node_grp::bc_grp_ID
int * bc_grp_ID
Definition: hecmw_struct.h:82
hecmwST_local_mesh::n_refine
int n_refine
Definition: hecmw_struct.h:238
hecmwST_node_grp::bc_grp_type
int * bc_grp_type
Definition: hecmw_struct.h:84
hecmwST_material::n_mat_item
int n_mat_item
Definition: hecmw_struct.h:37
hecmwST_local_mesh::when_i_was_refined_node
int * when_i_was_refined_node
Definition: hecmw_struct.h:227
hecmwST_material::mat_name
char ** mat_name
Definition: hecmw_struct.h:40
hecmwST_local_mesh::nn_internal
int nn_internal
Definition: hecmw_struct.h:164
hecmwST_elem_grp::bc_grp_ID
int * bc_grp_ID
Definition: hecmw_struct.h:99
hecmwST_local_mesh::node_init_val_item
double * node_init_val_item
Definition: hecmw_struct.h:181
hecmwST_local_mesh::n_adapt
int n_adapt
Definition: hecmw_struct.h:226
hecmwST_surf_grp
Definition: hecmw_struct.h:106
hecmwST_contact_pair
Definition: hecmw_struct.h:121
hecmwST_material::mat_item_index
int * mat_item_index
Definition: hecmw_struct.h:41
HECMW_dist_alloc
struct hecmwST_local_mesh * HECMW_dist_alloc()
Definition: hecmw_dist_alloc.c:402
hecmwST_contact_pair::slave_grp_id
int * slave_grp_id
Definition: hecmw_struct.h:128
hecmwST_local_mesh::n_dof
int n_dof
Definition: hecmw_struct.h:171
hecmwST_local_mesh::n_subdomain
int n_subdomain
Definition: hecmw_struct.h:214
hecmwST_local_mesh::import_index
int * import_index
Definition: hecmw_struct.h:217
hecmwST_local_mesh::hecmw_flag_version
int hecmw_flag_version
Definition: hecmw_struct.h:147
hecmwST_surf_grp::n_bc
int n_bc
Definition: hecmw_struct.h:112
hecmwST_local_mesh::zero
int zero
Definition: hecmw_struct.h:208
hecmwST_elem_grp::n_bc
int n_bc
Definition: hecmw_struct.h:98
HECMW_set_error
int HECMW_set_error(int errorno, const char *fmt,...)
Definition: hecmw_error.c:37
hecmwST_contact_pair::name
char ** name
Definition: hecmw_struct.h:123
hecmwST_local_mesh::files
char ** files
Definition: hecmw_struct.h:156
hecmwST_elem_grp::n_grp
int n_grp
Definition: hecmw_struct.h:93
hecmwST_material::mat_val
double * mat_val
Definition: hecmw_struct.h:44
hecmwST_local_mesh::section
struct hecmwST_section * section
Definition: hecmw_struct.h:245
hecmwST_elem_grp::grp_index
int * grp_index
Definition: hecmw_struct.h:95
hecmwST_node_grp::grp_name
char ** grp_name
Definition: hecmw_struct.h:77
hecmwST_node_grp::bc_grp_index
int * bc_grp_index
Definition: hecmw_struct.h:87
NULL
#define NULL
Definition: hecmw_io_nastran.c:30
hecmwST_elem_grp::bc_grp_type
int * bc_grp_type
Definition: hecmw_struct.h:101
hecmwST_local_mesh::n_elem_gross
int n_elem_gross
Definition: hecmw_struct.h:185
HECMW_assert
#define HECMW_assert(cond)
Definition: hecmw_util.h:40
hecmwST_local_mesh::adapt_children_item
int * adapt_children_item
Definition: hecmw_struct.h:235
hecmwST_material
Definition: hecmw_struct.h:35
hecmwST_section::sect_R_item
double * sect_R_item
Definition: hecmw_struct.h:35
hecmwST_local_mesh::header
char header[HECMW_HEADER_LEN+1]
Definition: hecmw_struct.h:157
hecmwST_mpc::mpc_index
int * mpc_index
Definition: hecmw_struct.h:50
hecmwST_surf_grp::grp_name
char ** grp_name
Definition: hecmw_struct.h:108
hecmwST_local_mesh::n_neighbor_pe
int n_neighbor_pe
Definition: hecmw_struct.h:215
hecmwST_local_mesh::global_elem_ID
int * global_elem_ID
Definition: hecmw_struct.h:190
hecmwST_local_mesh::surf_group
struct hecmwST_surf_grp * surf_group
Definition: hecmw_struct.h:251
hecmwST_local_mesh::n_dof_grp
int n_dof_grp
Definition: hecmw_struct.h:172
hecmwST_local_mesh::node_group
struct hecmwST_node_grp * node_group
Definition: hecmw_struct.h:249
hecmw_util.h
hecmwST_contact_pair::master_grp_id
int * master_grp_id
Definition: hecmw_struct.h:130
hecmwST_local_mesh::node_init_val_index
int * node_init_val_index
Definition: hecmw_struct.h:180
hecmwST_local_mesh::contact_pair
struct hecmwST_contact_pair * contact_pair
Definition: hecmw_struct.h:252
hecmwST_surf_grp::bc_grp_type
int * bc_grp_type
Definition: hecmw_struct.h:115
hecmwST_amplitude::amp_type_definition
int * amp_type_definition
Definition: hecmw_struct.h:61
hecmwST_local_mesh::elem_internal_list
int * elem_internal_list
Definition: hecmw_struct.h:187