#define TRUE -1 #define FALSE 0 #define INT long int #define FLOAT double /*#define word_len 32*/ #define x_num_bit 4 #define y_num_bit 12 #define z_num_bit 7 /*#define MAX_PTR 253000*/ #define MAX_PTR 63300 #define MAX_BUFF 200 #define mod(i,j) (i) - (i)/(j)*(j) #define range(i,min,max) (( (i) >= min ) && ( (i) <= max )) #define nint(i) ((i) >= 0.0 ? (INT)((i)+(0.5)) : (INT)((i)-(0.5))) #define min(i,j) ((i) <= (j) ? (i) : (j)) #define max(i,j) ((i) >= (j) ? (i) : (j)) typedef struct{ FLOAT exterior; FLOAT interior; } viscs; typedef struct{ INT x_min; INT x_max; INT y_min; INT y_max; } proc; typedef struct{ INT *i_nodes; INT *int_nodes; FLOAT *r_x; FLOAT *r_y; FLOAT *r_z; INT num_bnode; INT num_int_nodes; INT vol; FLOAT *u_nodes; } b_node; typedef struct{ INT (*func_ptr)(); FLOAT mass; FLOAT inertia; FLOAT mass_fac; INT mass_flag; INT max_bnode; struct size{ INT x; INT y; INT z; } size_m, size_p, *relat; INT n_points; struct icoord{ INT x; INT y; INT z; } i; struct vector{ FLOAT x; FLOAT y; FLOAT z; } r, u, w, f, t, f_ext, t_ext; FLOAT rad; FLOAT r_sq; FLOAT theta; } object; void lbe_initvel ( FLOAT *[][18]); void lbe_bconds ( FLOAT *[][18] ); void lbe_movexy ( FLOAT *[][18] ); FLOAT do_z_column ( FLOAT *[18], FLOAT, INT, INT, struct vector *, struct vector *); void wallplus_bc(FLOAT *[][18]); void wallminus_bc(FLOAT *[][18]);