OpenFAST
Wind turbine multiphysics simulator
data.h
1 #ifndef DATA_H
2 #include "registry.h"
3 
4 typedef struct node_struct {
5 
6  int node_kind ;
7  int type_type ;
8  char name[NAMELEN] ;
9  char mapsto[NAMELEN] ;
10  char nickname[NAMELEN] ;
11  struct node_struct * fields ;
12  struct node_struct * params ;
13  struct node_struct * type ;
14  struct node_struct * module ; /* type node pointer back to module node it is defined in */
15  int max_ndims; // max number of dimensions (so we don't have hundreds of unused variables that produce warnings)
16  int containsPtr; // if contains a pointer in type/subtype
17  int ndims ;
18  struct node_struct * dims[MAXDIMS] ;
19  int proc_orient ; /* ALL_[ZXY]_ON_PROC which dimension is all on processor */
20  int ntl ;
21  int subject_to_communication ;
22  int boundary_array ;
23  int boundary_array_4d ;
24  char use[NAMELEN] ;
25  char inival[NAMELEN] ;
26  char descrip[NAMELEN] ;
27  char units[NAMELEN] ;
28 
29 /* I/O flags */
30  int restart ;
31  int boundary ;
32  int namelist ;
33  char namelistsection[NAMELEN] ;
34 
35 /* Fields for Modname */
36  struct node_struct * module_ddt_list ;
37 
38 
39 /* CTRL */
40  int gen_periodic ;
41  struct node_struct * next ;
42 
43 /* fields used by rconfig nodes */
44  char nentries[NAMELEN] ;
45  char howset[NAMELEN] ;
46  char dflt[NAMELEN] ;
47 
48 /* fields used by Dim nodes */
49 
50  char dim_name[32] ;
51  char dim_data_name[NAMELEN] ;
52  int coord_axis ; /* X, Y, Z, C */
53  /* DOMAIN_STANDARD, NAMELIST, CONSTANT */
54  int len_defined_how ;
55  char assoc_nl_var_s[NAMELEN] ; /* for NAMELIST */
56  char assoc_nl_var_e[NAMELEN] ; /* for NAMELIST */
57  int coord_start ; /* for CONSTANT */
58  int coord_end ; /* for CONSTANT */
59  int dim_param; /* for using PARAMETER dimension */
60  char dim_param_name[NAMELEN]; /* for using PARAMETER dimension */
61 
62  int dim_order ; /* order that dimensions are specified
63  in framework */
64  int subgrid ; /* 1=subgrid dimension */
65  int deferred ; /* a deferred-shape dimension, that is, a colon */
66 
67  int usefrom ;
68 
69 /* fields used by Package nodes */
70  char pkg_assoc[NAMELEN] ;
71  char pkg_statevars[NAMELEN] ;
72  char pkg_4dscalars[NAMELEN_LONG] ;
73 
74 /* fields used by Comm (halo, period, xpose) nodes */
75  char comm_define[2*8192] ;
76 
77  int is_interface_type ;
78 
79 /* marker */
80  int mark ;
81 
82 } node_t ;
83 
84 #ifndef DEFINE_GLOBALS
85 # define EXTERN extern
86 #else
87 # define EXTERN
88 #endif
89 
90 EXTERN int sw_output_template_force ;
91 EXTERN char sw_commpath[NAMELEN] ;
92 EXTERN char sw_modname_subst[NAMELEN] ;
93 EXTERN char sw_modnickname_subst[NAMELEN] ;
94 EXTERN int sw_new_bdys ; /* 20070207 JM support decomposed boundary arrays */
95 EXTERN int sw_unidir_shift_halo ; /* 20100210 JM assume that halo to shift is same in both directions and only gen one of them */
96 EXTERN int sw_new_with_old_bdys ; /* 20070207 JM for debugging interim phase, new comms w/ old data structs */
97 EXTERN int sw_norealloc_lsh; /* 20070207 addresses compilers like gfortran that do not /assume:realloc_lhs */
98 EXTERN int sw_ccode ; /* 20130523 generate C code too */
99 EXTERN int sw_noextrap;
100 EXTERN char sw_shownodes ;
101 
102 EXTERN node_t * Type ;
103 EXTERN node_t * Dim ;
104 EXTERN node_t * Packages ;
105 EXTERN node_t * Halos ;
106 EXTERN node_t * Periods ;
107 EXTERN node_t * Xposes ;
108 EXTERN node_t * FourD ;
109 EXTERN node_t * Swaps ;
110 EXTERN node_t * Cycles ;
111 EXTERN node_t * ModNames ;
112 
113 EXTERN node_t Domain ;
114 
115 EXTERN char t1[NAMELEN], t2[NAMELEN], t3[NAMELEN], t4[NAMELEN], t5[NAMELEN], t6[NAMELEN] ;
116 EXTERN char thiscom[NAMELEN] ;
117 
118 EXTERN int max_time_level ; /* Maximum number of time levels of any state variable */
119 
120 #define MAXINCLDIRS 50
121 EXTERN int nincldirs ;
122 EXTERN char IncludeDirs[MAXINCLDIRS][NAMELEN] ;
123 EXTERN char OutDir[NAMELEN];
124 
125 #define P_XSB 1
126 #define P_XEB 2
127 #define P_YSB 3
128 #define P_YEB 4
129 
130 
131 #define DATA_H
132 #endif
Definition: data.h:4
Definition: map.h:433