8 #ifndef __WINDTUNNEL_3D4D__
9 #define __WINDTUNNEL_3D4D__
10 double DROPS_bound_cound_from_velo_inflow(
int coord_x,
int coord_y,
int coord_z,
double r,
11 int N_x,
int N_y,
int N_z,
int N_r);
15 void Windtunnel_FWE_FDM_Upwind_4D(
TCollection *coll,
18 int N_x,
int N_y,
int N_z,
int N_a,
19 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
20 double x_min,
double x_max,
double y_min,
double y_max,
21 double z_min,
double z_max,
double a_min,
double a_max,
22 double *velo1,
double *velo2,
double *velo3,
23 int *correspond_3dgrid,
double ***diff_velo_air_drops);
26 void Windtunnel_BWE_FDM_Upwind_4D(
TCollection *coll,
29 int *correspond_3dgrid,
30 int N_x,
int N_y,
int N_z,
int N_a,
double x_min,
double x_max,
31 double y_min,
double y_max,
double z_min,
32 double z_max,
double a_min,
double a_max,
33 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
double ***diff_velo_air_drops,
TSquareMatrix3D *mat);
35 void FEM_FCT_Matrix_Q1_4D_Windtunnel(
TCollection *coll,
38 double *sol,
double *oldsol,
39 double *lump_mass_PSD,
double *matrix_D_Entries_PSD,
40 int *correspond_3dgrid,
41 int N_x,
int N_y,
int N_z,
int N_a,
42 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
46 int *index_test_ansatz,
49 double *neum_to_diri_x,
50 double *neum_to_diri_y,
51 double *neum_to_diri_z,
52 double *neum_to_diri_a);
55 void Compute_Neum_To_Diri_FEM_FCT_Windtunnel(
int N_x,
int N_y,
int N_z,
int N_a,
56 double *x_coord,
double *y_coord,
57 double *z_coord,
double *a_coord,
60 double* &neum_to_diri_x,
61 double* &neum_to_diri_y,
62 double* &neum_to_diri_z,
63 double* &neum_to_diri_a);
65 void Build_4D_FEM_FCT_MassMatrix_Q1_Windtunnel(
TCollection *coll,
66 int N_x,
int N_y,
int N_z,
int N_a,
67 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
68 int* &index_test_ansatz,
70 double *lump_mass_PSD);
72 void Build_4D_FEM_FCT_Matrices_Q1_GroupFEM_Windtunnel(
TCollection *coll,
73 int N_x,
int N_y,
int N_z,
int N_a,
74 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
78 double *lump_mass_PSD,
double *psd_coeff);
80 void FEM_FCT_Matrix_Q1_GroupFEM_4D_Windtunnel(
TCollection *coll,
83 double *sol,
double *oldsol,
double *rhs_psd,
double *rhs_psd_old,
84 double *lump_mass_PSD,
double *matrix_D_Entries_PSD,
85 int *correspond_3dgrid,
86 int N_x,
int N_y,
int N_z,
int N_a,
87 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
double *a_layers_coord,
98 double *neum_to_diri_x,
99 double *neum_to_diri_y,
100 double *neum_to_diri_z,
101 double *neum_to_diri_a);
104 double normal_rand();
106 double log_normal_rand(
double mu,
double sigma,
double scal);
107 double calc_log_normal(
double x,
double sigma,
double mu,
double scal);
109 void write_vtk_file_yzlayer(
int N_x,
int N_y,
int N_z,
int N_a,
double x_fix_coord,
110 double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
111 double *f_old,
const char *name);
112 void write_data_file_meanvalue(
double ***mean_value_outflow,
double *a_layers_coord,
int N_x,
int N_y ,
int N_z,
int N_a,
const char *name);
113 void compute_coordinate(
int index,
int *coord_x,
int *coord_y,
114 int *coord_z,
int *coord_a,
int N_x,
int N_y,
117 void midpointflow(
double *x_coord,
double *y_coord,
118 double *z_coord,
double *a_coord,
int N_x,
int N_y,
119 int N_z,
int N_a,
double *sol );
120 void compute_mean_value_outflow(
int*** mean_value_outflow_indices,
double*** mean_value_outflow,
double*sol,
double* x_coord,
121 int N_x,
int N_y,
int N_z,
int N_a,
int *only_first_time);
122 double calc_velo_u1(
double *** diff_velo_air_drops,
int coord_int_x,
int coord_int_y,
int coord_int_z,
123 int a_coord_int,
int N_x,
int N_y,
int N_z,
int N_a);
124 void alloc_cubix(
double ****cubix,
int dim_x,
int dim_y,
int dim_z);
125 void disalloc_cubix(
double ****cubix,
int dim_x,
int dim_y,
int dim_z);
126 void alloc_cubix_int(
int ****cubix,
int dim_x,
int dim_y,
int dim_z);
127 void disalloc_cubix_int(
int ****cubix,
int dim_x,
int dim_y,
int dim_z);
128 void alloc_matrix(
double ***matrix,
int dim_x,
int dim_y);
129 void disalloc_matrix(
double **matrix,
int dim_x,
int dim_y);
130 void alloc_matrix_int(
int ***matrix,
int dim_x,
int dim_y);
131 void disalloc_matrix_int(
int **matrix,
int dim_x,
int dim_y);
136 int N_x,
int N_y,
int N_z,
int N_a,
137 double *x_coord,
double *y_coord,
double *z_coord,
double *Qcrit);
139 void calc_inflow_outflow_mass(
double *a_layers_coord,
double *f,
double *x_coord,
int N_x,
140 int N_y,
int N_z,
int N_r,
double *mass_inflow,
double *mass_outflow );
142 void calc_inflow_outflow_mass_m3(
double *a_layers_coord,
double *f,
double *x_coord,
double *y_coord,
int N_x,
143 int N_y,
int N_z,
int N_r,
double *mass_inflow,
double *mass_outflow );
145 void write_vtk_q_crit(
int N_x,
int N_y,
int N_z,
int N_a,
double *x_coord,
double *y_coord,
double *z_coord,
double *a_coord,
146 double *q_crit,
const char *name);
150 int N_x,
int N_y,
int N_z,
151 double *x_coord,
double *y_coord,
double *z_coord,
152 int *correspond_3dgrid);
Definition: SquareMatrix3D.h:20
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: FEFunction3D.h:25