BlobID v2.2.2
Loading...
Searching...
No Matches
config.h
1/*
2
3General Settings
4----------------
5
6 DEBUG - enables extra exception checks
7
8 F_STYLE - true: inputs are column-major (Fortran)
9 false: inputs are row-major (C/C++)
10
11
12ASCII Lagrangian data output file
13---------------------------------
14 Name Format: {LAGRANGIAN_BLOB_DATA_FILENAME}_{t_num}.{LAGRANGIAN_BLOB_DATA_EXT}
15
16 T_NUM_DIGITS - define how many digits to use to print t_num
17
18Settings for threshold levels
19-----------------------------
20
21 SINGLEPASS_THRESHOLD - Single pass level. See Chan et al. (2021)
22 Criteria C2
23
24 DOUBLEPASS_THRESHOLD - Double pass level. See Hendrickson et al.
25 (2020)
26
27 TRIPLEPASS_THRESHOLD_L
28 TRIPLEPASS_THRESHOLD_H - Triple pass levels (low and high). See
29 Hendrickson et al. (2020)
30
31-------------------------------------------------------------------------------
32-------------------------------------------------------------------------------
33
34 DOCUMENTATION
35
36Chan, W. H. R., Dodd, M. S., Johnson, P. L., & Moin, P. (2021). Identifying and
37 tracking bubbles and drops in simulations: A toolbox for obtaining sizes,
38 lineages, and breakup and coalescence statistics. Journal of Computational
39 Physics, 432, 110156. https://doi.org/10.1016/j.jcp.2021.110156
40
41Harrison, C., Childs, H., & Gaither, K. (2011). Data-Parallel Mesh Connected
42 Components Labeling and Analysis.
43 https://www.osti.gov/servlets/purl/1048292
44
45He, L., Ren, X., Gao, Q., Zhao, X., Yao, B., & Chao, Y. (2017). The connected-
46 component labeling problem: A review of state-of-the-art algorithms.
47 Pattern Recognition, 70, 25-43.
48 https://doi.org/10.1016/j.patcog.2017.04.018
49
50Hendrickson, K., Weymouth, G. D., & Yue, D. K. P. (2020). Informed component
51 label algorithm for robust identification of connected components with
52 volume-of-fluid method. Computers and Fluids, 197.
53 https://doi.org/10.1016/j.compfluid.2019.104373
54
55*/
56#ifndef CONFIG_H
57#define CONFIG_H
58
59#ifndef DEBUG
60/* #define DEBUG */
61#endif
62
63#ifndef F_STYLE
64#define F_STYLE true
65#endif
66
67#ifndef MAX_PATH_LENGTH
68#define MAX_PATH_LENGTH 63
69#endif
70
71#ifndef LAGRANGIAN_BLOB_DATA_FILENAME
72#define LAGRANGIAN_BLOB_DATA_FILENAME "blob"
73#endif
74
75#ifndef LAGRANGIAN_BLOB_DATA_EXT
76#define LAGRANGIAN_BLOB_DATA_EXT "dat"
77#endif
78
79#ifndef T_NUM_DIGITS
80#define T_NUM_DIGITS 6
81#endif
82
83#ifndef SINGLEPASS_THRESHOLD
84#define SINGLEPASS_THRESHOLD 0.1
85#endif
86
87#ifndef DOUBLEPASS_THRESHOLD
88#define DOUBLEPASS_THRESHOLD 0.4
89#endif
90
91#ifndef TRIPLEPASS_THRESHOLD_L
92#define TRIPLEPASS_THRESHOLD_L 0.3
93#endif
94#ifndef TRIPLEPASS_THRESHOLD_H
95#define TRIPLEPASS_THRESHOLD_H 0.5
96#endif
97
98
99
100
101/* CUSTOM FUNCTIONS */
102#define my_delete(x) {delete x; x = NULL;}
103
104
105/* UIDs for communication between fortran and c++ */
106#define UID_SIZE 8
107#define CPP_UID_TYPE int8_t
108#define FOR_UID_TYPE c_int8_t
109
110#define UNKOWN 0
111
112#define THR_NONE 1
113#define THR_SINGLEPASS 2
114#define THR_DOUBLEPASS 3
115#define THR_TRIPLEPASS 4
116
117#define NORMAL_NONE 5
118#define NORMAL_OUT 6
119#define NORMAL_IN 7
120
121#define SEQUENTIAL_TURE 8
122#define SEQUENTIAL_FALSE 9
123
124#define INVERTF_TRUE 12
125#define INVERTF_FALSE 13
126
127#endif /* !CONFIG_H */