FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_couple_control.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 INC_HECMW_COUPLE_CONTROL
7 #define INC_HECMW_COUPLE_CONTROL
8 
9 #include <stdio.h>
10 
12  int n_unit;
13  char **ids;
14 };
15 
17  int n_couple;
18  char **ids;
19 };
20 
23  char **ids;
24 };
25 
27  int n_proc;
29  int *ranks;
30 };
31 
33  int n_grp;
34  int geom_type;
35  int data_type;
36  char **grp_name;
37 };
38 
39 extern void HECMW_couple_free_unit_ids(
40  struct hecmw_couple_ctrl_unit_ids *unit_ids);
42  struct hecmw_couple_ctrl_couple_ids *couple_ids);
44  struct hecmw_couple_ctrl_boundary_ids *boundary_ids);
45 extern void HECMW_couple_ctrl_free_proc(
46  struct hecmw_couple_ctrl_proc *proc_info);
47 extern void HECMW_couple_ctrl_free_group(struct hecmw_couple_group *grp_info);
48 
49 extern void HECMW_couple_ctrl_free_couplemesh(void);
50 extern void HECMW_couple_ctrl_free_couple(void);
51 extern void HECMW_couple_ctrl_free(void);
52 
53 extern void HECMW_couple_ctrl_print_unit(FILE *fp);
54 extern void HECMW_couple_ctrl_print_couple(FILE *fp);
55 extern void HECMW_couple_ctrl_print_boundary(FILE *fp);
56 
57 extern int HECMW_couple_ctrl_unit(void);
58 extern int HECMW_couple_ctrl_couple(void);
59 extern int HECMW_couple_ctrl_boundary(void);
60 
61 extern int HECMW_couple_ctrl_get_n_unit(void);
62 extern int HECMW_couple_ctrl_get_n_couple(void);
63 extern int HECMW_couple_ctrl_get_n_boundary(void);
67  void);
68 extern char *HECMW_couple_ctrl_get_unit_id(const char *couple_id,
69  int unit_specifier, char *buf,
70  int bufsize);
71 extern char *HECMW_couple_ctrl_get_couple_id(const char *boundary_id, char *buf,
72  int bufsize);
74  const char *unit_id);
75 extern int HECMW_couple_ctrl_get_type(const char *couple_id, int *couple_type);
76 extern int HECMW_couple_ctrl_get_direction(const char *boundary_id,
77  int *direction);
78 extern int HECMW_couple_ctrl_get_tolerance(const char *boundary_id,
79  double *tolerance);
80 extern int HECMW_couple_ctrl_get_bbcoef(const char *boundary_id,
81  double *bbcoef);
82 extern int HECMW_couple_ctrl_get_bgcoef(const char *boundary_id,
83  double *bgcoef);
85  const char *boundary_id, int unit_specifier);
86 
87 #endif /* INC_HECMW_COUPLE_CONTROL */
HECMW_couple_ctrl_get_bbcoef
int HECMW_couple_ctrl_get_bbcoef(const char *boundary_id, double *bbcoef)
Definition: hecmw_couple_control.c:1854
hecmw_couple_ctrl_unit_ids::n_unit
int n_unit
Definition: hecmw_couple_control.h:15
HECMW_couple_ctrl_get_bgcoef
int HECMW_couple_ctrl_get_bgcoef(const char *boundary_id, double *bgcoef)
Definition: hecmw_couple_control.c:1874
hecmw_couple_ctrl_unit_ids
Definition: hecmw_couple_control.h:11
hecmw_couple_ctrl_boundary_ids::ids
char ** ids
Definition: hecmw_couple_control.h:23
HECMW_couple_free_boundary_ids
void HECMW_couple_free_boundary_ids(struct hecmw_couple_ctrl_boundary_ids *boundary_ids)
Definition: hecmw_couple_control.c:269
HECMW_couple_ctrl_get_direction
int HECMW_couple_ctrl_get_direction(const char *boundary_id, int *direction)
Definition: hecmw_couple_control.c:1814
hecmw_couple_ctrl_proc
Definition: hecmw_couple_control.h:26
HECMW_couple_free_unit_ids
void HECMW_couple_free_unit_ids(struct hecmw_couple_ctrl_unit_ids *unit_ids)
Definition: hecmw_couple_control.c:237
HECMW_couple_ctrl_boundary
int HECMW_couple_ctrl_boundary(void)
Definition: hecmw_couple_control.c:1497
HECMW_couple_ctrl_get_n_boundary
int HECMW_couple_ctrl_get_n_boundary(void)
Definition: hecmw_couple_control.c:1555
HECMW_couple_ctrl_get_group
struct hecmw_couple_group * HECMW_couple_ctrl_get_group(const char *boundary_id, int unit_specifier)
Definition: hecmw_couple_control.c:1894
hecmw_couple_ctrl_proc::is_specified_ranks
int is_specified_ranks
Definition: hecmw_couple_control.h:28
HECMW_couple_ctrl_print_boundary
void HECMW_couple_ctrl_print_boundary(FILE *fp)
Definition: hecmw_couple_control.c:169
HECMW_couple_ctrl_free_proc
void HECMW_couple_ctrl_free_proc(struct hecmw_couple_ctrl_proc *proc_info)
Definition: hecmw_couple_control.c:285
HECMW_couple_ctrl_print_couple
void HECMW_couple_ctrl_print_couple(FILE *fp)
Definition: hecmw_couple_control.c:158
hecmw_couple_group::n_grp
int n_grp
Definition: hecmw_couple_control.h:33
hecmw_couple_ctrl_couple_ids::ids
char ** ids
Definition: hecmw_couple_control.h:18
hecmw_couple_ctrl_couple_ids::n_couple
int n_couple
Definition: hecmw_couple_control.h:17
HECMW_couple_ctrl_get_unit_id
char * HECMW_couple_ctrl_get_unit_id(const char *couple_id, int unit_specifier, char *buf, int bufsize)
Definition: hecmw_couple_control.c:1669
HECMW_couple_ctrl_free_couple
void HECMW_couple_ctrl_free_couple(void)
HECMW_couple_ctrl_get_tolerance
int HECMW_couple_ctrl_get_tolerance(const char *boundary_id, double *tolerance)
Definition: hecmw_couple_control.c:1834
HECMW_couple_ctrl_get_type
int HECMW_couple_ctrl_get_type(const char *couple_id, int *couple_type)
Definition: hecmw_couple_control.c:1796
hecmw_couple_ctrl_boundary_ids
Definition: hecmw_couple_control.h:21
HECMW_couple_ctrl_free_group
void HECMW_couple_ctrl_free_group(struct hecmw_couple_group *grp_info)
Definition: hecmw_couple_control.c:294
HECMW_couple_ctrl_unit
int HECMW_couple_ctrl_unit(void)
Definition: hecmw_couple_control.c:550
HECMW_couple_ctrl_print_unit
void HECMW_couple_ctrl_print_unit(FILE *fp)
Definition: hecmw_couple_control.c:143
HECMW_couple_get_couple_ids
struct hecmw_couple_ctrl_couple_ids * HECMW_couple_get_couple_ids(void)
Definition: hecmw_couple_control.c:1594
HECMW_couple_ctrl_get_n_couple
int HECMW_couple_ctrl_get_n_couple(void)
Definition: hecmw_couple_control.c:1553
hecmw_couple_group
Definition: hecmw_couple_control.h:32
HECMW_couple_get_boundary_ids
struct hecmw_couple_ctrl_boundary_ids * HECMW_couple_get_boundary_ids(void)
Definition: hecmw_couple_control.c:1631
HECMW_couple_ctrl_couple
int HECMW_couple_ctrl_couple(void)
Definition: hecmw_couple_control.c:822
hecmw_couple_ctrl_couple_ids
Definition: hecmw_couple_control.h:16
HECMW_couple_ctrl_get_couple_id
char * HECMW_couple_ctrl_get_couple_id(const char *boundary_id, char *buf, int bufsize)
Definition: hecmw_couple_control.c:1715
HECMW_couple_get_unit_ids
struct hecmw_couple_ctrl_unit_ids * HECMW_couple_get_unit_ids(void)
Definition: hecmw_couple_control.c:1557
HECMW_couple_ctrl_free_couplemesh
void HECMW_couple_ctrl_free_couplemesh(void)
HECMW_couple_ctrl_free
void HECMW_couple_ctrl_free(void)
Definition: hecmw_couple_control.c:339
HECMW_couple_free_couple_ids
void HECMW_couple_free_couple_ids(struct hecmw_couple_ctrl_couple_ids *couple_ids)
Definition: hecmw_couple_control.c:253
hecmw_couple_ctrl_boundary_ids::n_boundary
int n_boundary
Definition: hecmw_couple_control.h:22
HECMW_couple_ctrl_get_n_unit
int HECMW_couple_ctrl_get_n_unit(void)
Definition: hecmw_couple_control.c:1551
hecmw_couple_ctrl_unit_ids::ids
char ** ids
Definition: hecmw_couple_control.h:16
hecmw_couple_ctrl_proc::n_proc
int n_proc
Definition: hecmw_couple_control.h:27
hecmw_couple_group::geom_type
int geom_type
Definition: hecmw_couple_control.h:34
hecmw_couple_group::grp_name
char ** grp_name
Definition: hecmw_couple_control.h:36
hecmw_couple_group::data_type
int data_type
Definition: hecmw_couple_control.h:35
hecmw_couple_ctrl_proc::ranks
int * ranks
Definition: hecmw_couple_control.h:29
HECMW_couple_ctrl_get_proc
struct hecmw_couple_ctrl_proc * HECMW_couple_ctrl_get_proc(const char *unit_id)
Definition: hecmw_couple_control.c:1752