FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_io_mesh.h
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 #ifndef HECMW_IO_MESH_INCLUDED
7 #define HECMW_IO_MESH_INCLUDED
8 
9 #include <stdio.h>
10 #include "hecmw_util.h"
11 #include "hecmw_io_struct.h"
12 #include "hecmw_system.h"
13 
14 extern int HECMW_io_get_version(void);
15 
16 extern int HECMW_io_init(void);
17 
18 extern int HECMW_io_finalize(void);
19 
20 extern void HECMW_io_print_all(FILE *fp);
21 
22 extern int HECMW_io_free_all(void);
23 
24 extern int HECMW_io_set_gridfile(char *gridfile);
25 
26 extern struct hecmw_io_amplitude *HECMW_io_add_amp(const char *name,
27  int definition, int time,
28  int value, double val,
29  double t);
30 
31 extern struct hecmw_io_initial *HECMW_io_get_initial(int node);
32 
33 extern struct hecmw_io_initial *HECMW_io_add_initial(int type, int node,
34  const char *ngrp,
35  double val);
36 
37 extern struct hecmw_io_element *HECMW_io_get_elem(int id);
38 
39 extern int HECMW_io_get_n_elem(void);
40 
41 extern int HECMW_io_get_elem_max_id(void);
42 
43 extern struct hecmw_io_element *HECMW_io_add_elem(int id, int type, int *node,
44  int nmatitem,
45  double *matitem);
46 
47 struct hecmw_io_id_array *HECMW_io_get_elem_in_egrp(const char *name);
48 
49 extern struct hecmw_io_egrp *HECMW_io_get_egrp(const char *name);
50 
51 extern int HECMW_io_add_egrp(const char *name, int nelem, int *elem);
52 
53 extern struct hecmw_io_node *HECMW_io_get_node(int id);
54 
55 extern int HECMW_io_get_n_node(void);
56 
57 extern struct hecmw_io_node *HECMW_io_add_node(int id, double x, double y,
58  double z);
59 
60 extern int HECMW_io_get_nnode_in_ngrp(const char *name);
61 
62 extern int HECMW_io_remove_node(int id);
63 
64 extern struct hecmw_io_ngrp *HECMW_io_get_ngrp(const char *name);
65 
66 extern struct hecmw_io_id_array *HECMW_io_get_node_in_ngrp(const char *name);
67 
68 extern int HECMW_io_add_ngrp(const char *name, int nnode, int *node);
69 
70 extern int HECMW_io_add_sgrp(const char *name, int n, int *elem, int *surf);
71 
72 extern struct hecmw_io_mpc *HECMW_io_add_mpc(
73  int neq, const struct hecmw_io_mpcitem *mpcitem, double cnst);
74 
75 extern struct hecmw_io_section *HECMW_io_add_sect(
76  struct hecmw_io_section *sect);
77 
78 extern struct hecmw_io_material *HECMW_io_get_mat(const char *name);
79 
80 extern struct hecmw_io_material *HECMW_io_add_mat(
81  const char *name, struct hecmw_io_material *mat);
82 
83 extern void HECMW_io_set_header(struct hecmw_io_header *header);
84 
85 extern struct hecmw_system_param *HECMW_io_get_system(void);
86 
87 extern void HECMW_io_set_system(struct hecmw_system_param *system);
88 
89 extern void HECMW_io_set_zero(struct hecmw_io_zero *zero);
90 
91 extern struct hecmw_io_contact *HECMW_io_add_contact(const char *name, int type,
92  const char *slave_grp,
93  const char *master_grp);
94 
95 extern int HECMW_io_post_process(void);
96 
97 extern int HECMW_io_pre_process(void);
98 
99 extern int HECMW_io_check_mpc_dof(int dof);
100 
101 extern int HECMW_io_is_reserved_name(const char *name);
102 
103 extern struct hecmwST_local_mesh *HECMW_io_make_local_mesh(void);
104 
105 #endif
HECMW_io_set_gridfile
int HECMW_io_set_gridfile(char *gridfile)
Definition: hecmw_io_mesh.c:624
HECMW_io_get_ngrp
struct hecmw_io_ngrp * HECMW_io_get_ngrp(const char *name)
Definition: hecmw_io_mesh.c:1054
hecmw_io_id_array::n
int n
Definition: hecmw_io_struct.h:16
HECMW_io_add_mat
struct hecmw_io_material * HECMW_io_add_mat(const char *name, struct hecmw_io_material *mat)
Definition: hecmw_io_mesh.c:1419
HECMW_io_get_system
struct hecmw_system_param * HECMW_io_get_system(void)
Definition: hecmw_io_mesh.c:1461
hecmw_io_node
Definition: hecmw_io_struct.h:30
HECMW_io_add_node
struct hecmw_io_node * HECMW_io_add_node(int id, double x, double y, double z)
Definition: hecmw_io_mesh.c:994
HECMW_io_init
int HECMW_io_init(void)
Definition: hecmw_io_mesh.c:4010
hecmwST_local_mesh::gridfile
char gridfile[HECMW_FILENAME_LEN+1]
Definition: hecmw_struct.h:154
HECMW_io_get_elem_in_egrp
struct hecmw_io_id_array * HECMW_io_get_elem_in_egrp(const char *name)
Definition: hecmw_io_mesh.c:850
HECMW_io_post_process
int HECMW_io_post_process(void)
Definition: hecmw_io_mesh.c:4040
hecmw_io_element::node
int * node
Definition: hecmw_io_struct.h:38
hecmw_io_egrp::name
char name[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:53
hecmw_io_contact::type
int type
Definition: hecmw_io_struct.h:155
HECMW_io_get_elem
struct hecmw_io_element * HECMW_io_get_elem(int id)
Definition: hecmw_io_mesh.c:734
hecmwST_local_mesh
Definition: hecmw_struct.h:139
hecmw_io_contact::master_grp
char master_grp[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:156
HECMW_io_get_nnode_in_ngrp
int HECMW_io_get_nnode_in_ngrp(const char *name)
Definition: hecmw_io_mesh.c:1030
hecmw_io_material::name
char name[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:102
HECMW_io_finalize
int HECMW_io_finalize(void)
Definition: hecmw_io_mesh.c:4024
hecmw_io_material
Definition: hecmw_io_struct.h:101
HECMW_io_get_node_in_ngrp
struct hecmw_io_id_array * HECMW_io_get_node_in_ngrp(const char *name)
Definition: hecmw_io_mesh.c:1071
hecmw_io_egrp::elem
struct hecmw_set_int * elem
Definition: hecmw_io_struct.h:54
hecmw_io_node::x
double x
Definition: hecmw_io_struct.h:31
HECMW_io_add_sect
struct hecmw_io_section * HECMW_io_add_sect(struct hecmw_io_section *sect)
Definition: hecmw_io_mesh.c:1373
HECMW_io_set_zero
void HECMW_io_set_zero(struct hecmw_io_zero *zero)
Definition: hecmw_io_mesh.c:1470
hecmw_io_node::y
double y
Definition: hecmw_io_struct.h:32
hecmw_system.h
HECMW_io_add_contact
struct hecmw_io_contact * HECMW_io_add_contact(const char *name, int type, const char *slave_grp, const char *master_grp)
Definition: hecmw_io_mesh.c:1478
hecmw_io_ngrp
Definition: hecmw_io_struct.h:46
hecmw_io_amplitude::name
char name[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:78
hecmw_io_node::z
double z
Definition: hecmw_io_struct.h:33
HECMW_io_get_n_elem
int HECMW_io_get_n_elem(void)
Definition: hecmw_io_mesh.c:740
hecmw_io_section
Definition: hecmw_io_struct.h:118
hecmw_io_element::matitem
double * matitem
Definition: hecmw_io_struct.h:40
hecmw_io_zero
Definition: hecmw_io_struct.h:26
HECMW_io_get_n_node
int HECMW_io_get_n_node(void)
Definition: hecmw_io_mesh.c:981
HECMW_io_free_all
int HECMW_io_free_all(void)
Definition: hecmw_io_mesh.c:604
hecmw_io_initial::type
int type
Definition: hecmw_io_struct.h:93
hecmw_io_element::nmatitem
int nmatitem
Definition: hecmw_io_struct.h:39
HECMW_io_get_elem_max_id
int HECMW_io_get_elem_max_id(void)
Definition: hecmw_io_mesh.c:746
HECMW_io_check_mpc_dof
int HECMW_io_check_mpc_dof(int dof)
Definition: hecmw_io_mesh.c:3965
HECMW_io_get_node
struct hecmw_io_node * HECMW_io_get_node(int id)
Definition: hecmw_io_mesh.c:975
HECMW_io_add_elem
struct hecmw_io_element * HECMW_io_add_elem(int id, int type, int *node, int nmatitem, double *matitem)
Definition: hecmw_io_mesh.c:769
hecmw_io_section::sect
union hecmw_io_section::hecmw_io_section_item sect
hecmw_io_mpc
Definition: hecmw_io_struct.h:64
HECMW_io_add_amp
struct hecmw_io_amplitude * HECMW_io_add_amp(const char *name, int definition, int time, int value, double val, double t)
Definition: hecmw_io_mesh.c:631
HECMW_io_pre_process
int HECMW_io_pre_process(void)
Definition: hecmw_io_mesh.c:4038
hecmw_io_mpc::neq
int neq
Definition: hecmw_io_struct.h:65
hecmw_io_header
Definition: hecmw_io_struct.h:22
HECMW_io_print_all
void HECMW_io_print_all(FILE *fp)
Definition: hecmw_io_mesh.c:418
hecmw_io_contact
Definition: hecmw_io_struct.h:153
hecmw_io_id_array
Definition: hecmw_io_struct.h:12
HECMW_io_add_mpc
struct hecmw_io_mpc * HECMW_io_add_mpc(int neq, const struct hecmw_io_mpcitem *mpcitem, double cnst)
Definition: hecmw_io_mesh.c:1317
hecmw_io_contact::slave_grp
char slave_grp[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:157
HECMW_io_add_initial
struct hecmw_io_initial * HECMW_io_add_initial(int type, int node, const char *ngrp, double val)
Definition: hecmw_io_mesh.c:700
hecmw_io_initial
Definition: hecmw_io_struct.h:92
hecmw_io_egrp
Definition: hecmw_io_struct.h:52
HECMW_io_get_initial
struct hecmw_io_initial * HECMW_io_get_initial(int node)
Definition: hecmw_io_mesh.c:691
HECMW_io_get_version
int HECMW_io_get_version(void)
Definition: hecmw_io_mesh.c:3976
HECMW_io_add_ngrp
int HECMW_io_add_ngrp(const char *name, int nnode, int *node)
Definition: hecmw_io_mesh.c:1110
HECMW_io_get_egrp
struct hecmw_io_egrp * HECMW_io_get_egrp(const char *name)
Definition: hecmw_io_mesh.c:844
hecmw_io_initial::node
int node
Definition: hecmw_io_struct.h:95
hecmw_io_ngrp::name
char name[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:47
hecmw_io_contact::name
char name[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:154
HECMW_io_set_header
void HECMW_io_set_header(struct hecmw_io_header *header)
Definition: hecmw_io_mesh.c:1448
hecmw_io_struct.h
hecmw_io_element
Definition: hecmw_io_struct.h:36
hecmw_io_element::type
int type
Definition: hecmw_io_struct.h:37
HECMW_io_is_reserved_name
int HECMW_io_is_reserved_name(const char *name)
Definition: hecmw_io_mesh.c:3970
HECMW_io_add_sgrp
int HECMW_io_add_sgrp(const char *name, int n, int *elem, int *surf)
Definition: hecmw_io_mesh.c:1233
hecmw_io_initial::val
double val
Definition: hecmw_io_struct.h:97
HECMW_io_add_egrp
int HECMW_io_add_egrp(const char *name, int nelem, int *elem)
Definition: hecmw_io_mesh.c:892
HECMW_io_remove_node
int HECMW_io_remove_node(int id)
hecmw_system_param
Definition: hecmw_system.h:11
HECMW_io_get_mat
struct hecmw_io_material * HECMW_io_get_mat(const char *name)
Definition: hecmw_io_mesh.c:1401
hecmw_util.h
hecmw_io_amplitude
Definition: hecmw_io_struct.h:77
HECMW_io_make_local_mesh
struct hecmwST_local_mesh * HECMW_io_make_local_mesh(void)
Definition: hecmw_io_mesh.c:4068
hecmw_io_initial::ngrp
char ngrp[HECMW_NAME_LEN+1]
Definition: hecmw_io_struct.h:96
HECMW_io_set_system
void HECMW_io_set_system(struct hecmw_system_param *system)
Definition: hecmw_io_mesh.c:1465
hecmw_io_mpc::cnst
double cnst
Definition: hecmw_io_struct.h:66