Peka2D_v5  v5.0
structs.h
Go to the documentation of this file.
1 #include "define.h"
2 
3 #ifndef s_mesh_
4 #define s_mesh_
5 
6 #define STR_SIZE 1024
7 
8 typedef struct t_message_ t_message;
9 
10 typedef struct t_parameters_ t_parameters;
11 typedef struct t_mesh_ t_mesh;
12 
13 typedef struct t_c_cell_ t_c_cell;
14 typedef struct l_c_cells_ l_c_cells;
15 
16 typedef struct t_g_cell_ t_g_cell;
17 typedef struct l_g_cells_ l_g_cells;
18 
19 typedef struct t_node_ t_node;
20 typedef struct l_nodes_ l_nodes;
21 
22 typedef struct t_wall_ t_wall;
23 typedef struct l_wall_ l_wall;
24 
25 typedef struct t_edge_ t_edge;
26 typedef struct l_edges_ l_edges;
27 
28 typedef struct t_bound_ t_bound;
29 
30 typedef struct t_solute_ t_solute;
31 typedef struct l_solutes_ l_solutes;
32 
33 typedef struct t_arrays_ t_arrays;
34 typedef struct t_cuPtr_ t_cuPtr;
35 
36 typedef struct t_timers_ t_timers;
37 
41 struct t_message_{
42  char logFile[1024];
43  int error;
44  char errorProperty[1024];
45  int nWarning;
46  char **warning;
47  int nMsgL0;
48  char **MsgL0;
49  int nMsgL1;
50  char **MsgL1;
51  int nMsgL2;
52  char **MsgL2;
53  int nMsgL3;
54  char **MsgL3;
55 };
56 
57 
62  char proj[1024];
63  char dir[1024];
64  int ncores, gpuid;
65  double ti,tf,CFL;
66 
67  int writeMass;
70 
71  int nIterOut;
72  double dtOut;
73  double dtDump;
74  double minh;
75 
76 };
77 
78 
82 struct t_mesh_{
83  int id;
84  int NCwall;
85  int nnodes;
86  int ncells;
88  int nw_calc;
89  int nw_bound;
90 
91  //mesh structure
95 
98 
99  l_c_cells *b_cells; // Only the boundary Cells
100 
101  int nInlet;
104  int nOutlet;
107 
108  double minZ, maxZ;
109 
110  //solutes
111  int nSolutes;
113 
114 };
115 
116 
120 struct t_c_cell_{
121  int id;
122  double z;
123  double h;
124  double hu;
125  double hv;
126  double u;
127  double v;
128  double modulou;
129 
130  double hini;
131  double zini;
132 
133  double nMan;
134 
136 
137  //Advection-Diffusion Transport
138  double *hphi;
139  double *phi;
140 };
141 
142 
146 struct l_c_cells_{
147  int size;
148  int n;
151 };
152 
153 
157 struct t_g_cell_{
158  int id;
159  int isBound; // type cell identifier
160  // 0 = inner cell
161  // 99 = closed boundary cell
162  // negative = inlet cell (- ID inlet)
163  // positive = outlet cell (+ ID outlet)
164  double area;
165  double center[3];
166  int nneig; //número de vecinas, descontando los contornos
167  int nbound; //número de contornos
172  double Lwallmax;
173 };
174 
175 
179 struct l_g_cells_{
180  int size;
181  int n;
183 };
184 
185 
189 struct t_node_{
190  int id;
191  double x,y,z;
192 };
193 
194 
198 struct l_nodes_{
199  int size;
200  int n;
201  double xmin,ymin,xmax,ymax;
203 };
204 
205 
209 struct t_wall_{
210  int idWall;
211 
212  int node1;
213  int node2;
214  // This value represents, for c1, the identifier {0,1,2,{3}} of the wall
215  // in order to select where to write at dh,dhu,dhv of the cell
216  int i;
217  // The same for c2
218  int j;
219 
220  int id; // Identificador de la celda i
221  int id2;// Identificaador de la celda j
222  double lwall;
223  double normal[2];
224  double deltaX;
225  double distNormal;//length between the centers of the cells
226  double length;//length of the edge of each cell
227  double distCenter;
228  double ncx, ncy;
229 
230  // Punteros a las celdas i,j (0,1) de la pared
233 
234  int idBound;
235  int typeOfBound; //type wall identifier
236  //-1 = inner wall
237  // 0 = closed bound wall
238  // 2 = inlet bound wall
239  // 3 = outlet bound wall
240 };
241 
242 
246 struct l_wall_{
247  int size;
248  int n;
250 };
251 
252 
256 struct t_edge_{
257  int id;
258  double normal[3];
259  //t_c_cell *cells[2];
260  double length;
262 };
263 
264 
268 struct l_edges_{
269  int size;
270  int n;
272 };
273 
274 
278 struct t_bound_{
279  char idname[1024];
280  int type;
281  int n;
288  double *t;
289  double *q;
290  double *hZ;
291  double *Fr;
292  double **phi;
293  double maxFroude;
294  double totalLength;
295  double totalArea;
296  double zmin;
297  double levelControl;
299  double qMass,qDischarge; //qMass is the mass of water that enters/leaves in form of water depth and qDischarge in form of discharge. The sum of this two quantities (times dt) represents the water volume that enters/leaves the boundary
301  // *(n1)-------------*
302  // | |
303  // | |
304  // *-------------(n2)*
305  int iAct; // Nos dice el indice, en la tabla de tiempos, correspondiente al tiempo actual
306  double qliquid;
307  double qsolid;
308 };
309 
310 
314 struct t_solute_{
315  char name[STR_SIZE];
316  int typeDiff;
317  double k_xx,k_yy;
318  double maxConc;
319 };
320 
321 
325 struct l_solutes_{
326  int n;
327  int flagDiffussion; //flag to determine if it is necessary to go inside diffusion subroutines
329 };
330 
331 
332 
336 struct t_arrays_{
337 
338  //parameters
339  int ncores;
340  int gpuid;
341  double ti;
342  double tf;
343  double CFL;
345  int writeMass;
349  int nIterOut;
350  double dtOut;
351  double dtDump;
352  double minh;
354  int NCwall;
355  int ncells;
356  int nw_calc;
357  int nw_bound;
358  int nInlet;
359  int nOutlet;
362  //computation controls
363  double t;
364  double dt;
366  int nIter;
367  int indexOut;
368  int indexDump;
370  int dumpState;
372  double massOld;
373  double massNew;
374  double massError;
376  double massIn;
377  double massOut;
378  double qTotalIn;
379  double qTotalOut;
381  //solute controls
382  int nSolutes;
385  //ARRAY DE CELDA
386  int nActCells;
387  int *actCells;
388  int *activeC;
390  int *cidx;
391  int *nneig;
393  double *z;
394  double *h;
395  double *hu;
396  double *hv;
397  double *u;
398  double *v;
399  double *modulou;
400  double *sqrh;
402  double *area;
403  double *nman;
404  double *SOX;
405  double *SOY;
407  double *mass;
410  //ARRAY DE CELDAS*NPAREDES
412  double *dh;
413  double *dhu;
414  double *dhv;
417  int *neighCell;
418  int *neighWall;
420  double *normalXbyCell;
421  double *normalYbyCell;
424  //ARRAY DE PAREDES INTERNAS DE CALCULO
425  int nActWalls;
426  int *actWalls;
427  int *activeW;
429  int *widx;
431  int *idx1;
432  int *idx2;
433  int *idw1;
434  int *idw2;
436  double *normalX;
437  double *normalY;
438  double *deltaX;
439  double *length;
440  double *distNormal;
441  double *distCentX;
442  double *distCentY;
444  double *nman2wall;
445  double *gp;
447  int *typeOfBound;
448  int *solidWall;
450  double *qnormalL;
451  double *localDt;
454  // BOUNDARY ARRAYS ///////////////////////////
456  double *normalXOut, *normalYOut;
457 
459  int *cidxIn;
460  int *idBoundIn;
461  double *lengthwallIn;
462 
464  int *cidxOut;
466  double *lengthwallOut;
467 
468 
469  // SOLUTE ARRAYS ///////////////////////////
470  #if SET_SOLUTE
473  //solute data
474  int *typeDiff; //nsol
475  double *k_xx, *k_yy; //nsol
476 
477  //solute conservative
478  double *hcsol;
479  double *csol;
481  //solute contributions
482  double *dhcsol;
483  #endif
484 
485 };
486 
487 
494 struct t_cuPtr_{
495 
496  int *index, *check;
497 
498  double *t, *dt;
499 
501 
504 
505  double *massOld, *massNew;
506  double *massError;
507 
508  double *qTotalIn, *qTotalOut;
509 
510  // GPU COMPUTATION ARRAYS ////////////////////////////////////////////
511  //cells
512  int *cidx, *nneig;
514  double *z, *h, *hu, *hv, *u, *v, *modulou, *sqrh;
515  double *area, *nman, *SOX, *SOY;
516  double *mass;
517 
518  //cells*NCwall
519  double *dh, *dhu, *dhv;
522 
523  //internal walls
525  int *widx;
526  int *idx1, *idx2, *idw1, *idw2;
528  double *nman2wall, *gp;
530  double *qnormalL, *localDt;
531 
532 
533  // BOUNDARY ARRAYS ///////////////////////////
534  int *cidxIn;
535  int *idBoundIn;
537  double *lengthwallIn;
538 
539  int *cidxOut;
542  double *lengthwallOut;
543 
544 
545  // SOLUTE ARRAYS ///////////////////////////
546  #if SET_SOLUTE
547  //solutes
548  int *typeDiff;
549  double *k_xx, *k_yy;
550 
551  //nsolutes*cells
552  double *hcsol, *csol;
553 
554  //nsolutes*cells*NCwall
555  double *dhcsol;
556  #endif
557 
558 };
559 
560 
564 struct t_timers_{
565  double total=0.0;
566  double loading=0.0;
567  double init=0.0;
568  double initGPU=0.0;
569  double computeSim=0.0;
570  double wallCalculus=0.0;
571  double cellUpdating=0.0;
572  double boundConditon=0.0;
573  double wetDryFix=0.0;
574  double memoryTransfer=0.0;
575  double writeOut=0.0;
576 };
577 
578 
579 #endif
List of calculus cells t_c_cell_.
Definition: structs.h:146
t_c_cell ** pcells
Definition: structs.h:150
t_c_cell * cells
Definition: structs.h:149
int n
Definition: structs.h:148
int size
Definition: structs.h:147
List of geometrical edges for mesh construction.
Definition: structs.h:268
t_edge * walls
Definition: structs.h:271
int n
Definition: structs.h:270
int size
Definition: structs.h:269
List of geometry cells t_g_cell_.
Definition: structs.h:179
t_g_cell * cells
Definition: structs.h:182
int n
Definition: structs.h:181
int size
Definition: structs.h:180
List of geometry nodes t_node_.
Definition: structs.h:198
double ymin
Definition: structs.h:201
double xmax
Definition: structs.h:201
int size
Definition: structs.h:199
int n
Definition: structs.h:200
t_node * nodes
Definition: structs.h:202
double xmin
Definition: structs.h:201
double ymax
Definition: structs.h:201
List of passive solutes.
Definition: structs.h:325
int n
Definition: structs.h:326
t_solute * solute
Definition: structs.h:328
int flagDiffussion
Definition: structs.h:327
List of walls for computation t_wall_.
Definition: structs.h:246
int size
Definition: structs.h:247
t_wall * wall
Definition: structs.h:249
int n
Definition: structs.h:248
#define STR_SIZE
Definition: structs.h:6
Arrange all the domain parameters, run controls and data arrays required for computation.
Definition: structs.h:336
int nw_bound
Number of boundary walls.
Definition: structs.h:357
double * normalXbyCell
[NCELLS*NCWALL] X-nomall neighboring wall
Definition: structs.h:420
double massNew
Run-control current integrated volume.
Definition: structs.h:373
double * normalYbyCell
[NCELLS*NCWALL] Y-nomall neighboring wall
Definition: structs.h:421
double * mass
[NCELLS] Mass in cells
Definition: structs.h:407
double * distCentX
[NWCALC] Distance between neighboring cell centers projected on the X-direction
Definition: structs.h:441
double * normalXOut
Definition: structs.h:456
double * localDt
[NWCALC] Local time step limitation for the calculus wall
Definition: structs.h:451
int * neighWall
[NCELLS*NCWALL] Neigboring wall IDs :: Internal calculus wall - Bound walls
Definition: structs.h:418
int * solidWallByCell
[NCELLS*NCWALL] Local flag for solid wall behaviour
Definition: structs.h:416
int * typeDiff
Definition: structs.h:474
int * actCells
[NCELLS] Active cell indexes
Definition: structs.h:387
double * u
[NCELLS] X-velocity in cells
Definition: structs.h:397
int * idx1
[NWCALC] Neighboring left-cell ID for calculus wall
Definition: structs.h:431
int ncells
Number of cells in the domain :: NCELLS.
Definition: structs.h:355
double * sqrh
[NCELLS] Square depth of flow depth in cells
Definition: structs.h:400
double * hu
[NCELLS] X-discharge in cells
Definition: structs.h:395
double * qnormalL
[NWCALC] Upwind-left volume rate for the calculus wall
Definition: structs.h:450
int ncores
Number of CPU threads selected.
Definition: structs.h:339
int nWallCell
Definition: structs.h:411
double t
Run-control time mark.
Definition: structs.h:363
int flagDiffusion
Solute diffusion activation flag.
Definition: structs.h:471
int indexDump
Run-control component output index.
Definition: structs.h:368
int writeExtremes
Compute and write maximum values for the variables.
Definition: structs.h:346
int nOutlet
Number of outlets in the domain.
Definition: structs.h:359
double * normalYOut
Definition: structs.h:456
int nTotalCellsOut
Definition: structs.h:463
int NCwall
Number of walls per cell :: NCWALL.
Definition: structs.h:354
int nIter
Run-control iteration.
Definition: structs.h:366
double massOld
Run-control integrated volume at the beginning of the time step.
Definition: structs.h:372
double * dhcsol
[NSOL*NCELLS*NCWALL] Wall-contributions to cell solute mass
Definition: structs.h:482
double * z
[NCELLS] Bed elevation in cells
Definition: structs.h:393
int nActCells
Run-control number of active cells.
Definition: structs.h:386
double * lengthwallOut
Definition: structs.h:466
double * k_xx
Definition: structs.h:475
double * nman
[NCELLS] Manning roughness coefficient nMan [s m^(-1/3)] in cells
Definition: structs.h:403
double * length
[NWCALC] Wall length
Definition: structs.h:439
double * deltaX
[NWCALC] Distance factor for time step computation
Definition: structs.h:438
double dtDump
Temporal frequency for dump components integrations.
Definition: structs.h:351
int nIterOut
Number of iterations for sreen output.
Definition: structs.h:349
double * dh
[NCELLS*NCWALL] Wall-contributions to cell mass
Definition: structs.h:412
double minh
Minimun flow depth for neglecting cell velocity.
Definition: structs.h:352
double ti
Initial time for simulation.
Definition: structs.h:341
double * normalXIn
Definition: structs.h:455
int indexOut
Run-control state output index.
Definition: structs.h:367
int * widx
[NWCALC] Calculus walls IDs
Definition: structs.h:429
int * idx2
[NWCALC] Neigboring right-cell ID for calculus wall
Definition: structs.h:432
double CFL
CFL restriction for time step limitation.
Definition: structs.h:343
double * h
[NCELLS] Flow depth in cells
Definition: structs.h:394
int * nneig
Number of neighboring cells.
Definition: structs.h:391
int * cidxOut
Definition: structs.h:464
double * SOY
[NCELLS] Y-direction bed slope
Definition: structs.h:405
double * area
[NCELLS] Cell area
Definition: structs.h:402
int nTotalCellsIn
Definition: structs.h:458
int * activeW
[NWCALC] Local flags for active calculus walls :: [0] Unactive wall - [1] Active wall
Definition: structs.h:427
double * normalYlIn
Definition: structs.h:455
double * dhu
[NCELLS*NCWALL] Wall-contributions to cell X-momentum
Definition: structs.h:413
int dumpComponent
Run-control flag to dump components in the current iteration.
Definition: structs.h:369
int * activeC
[NCELLS] Local flags for active cells :: [0] Unactive cell - [1] Active cell
Definition: structs.h:388
double * nman2wall
[NWCALC] Square of the averaged Manning parameter at the calculus wall
Definition: structs.h:444
int * neighCell
[NCELLS*NCWALL] Neigboring cell indexes. Boundary neigbour marked with index -1
Definition: structs.h:417
double massError
Run-control mass error computed at the end of the time stop.
Definition: structs.h:374
int * idw2
[NWCALC] Wall-ordering flag in right-cell
Definition: structs.h:434
int * idBoundIn
Definition: structs.h:460
int * actWalls
[NWCALC] Active calculus walls indexes
Definition: structs.h:426
double * distNormal
[NWCALC] Distance between neighboring cell centers projected on the wall-normal direction
Definition: structs.h:440
int dumpState
Run-control flag to dump state in the current iteration.
Definition: structs.h:370
int * cidxIn
Definition: structs.h:459
int writeMass
Write in output file mass balance information.
Definition: structs.h:345
int gpuid
GPU device ID selected by user.
Definition: structs.h:340
int nw_calc
Number of internal (calculus) walls :: NWCALC.
Definition: structs.h:356
double * hv
[NCELLS] Y-discharge in cells
Definition: structs.h:396
int * idBoundOut
Definition: structs.h:465
double * k_yy
Definition: structs.h:475
double * lengthwallIn
Definition: structs.h:461
double * hcsol
[NSOL x NCELLS] Solute mass in cells
Definition: structs.h:478
double * distCentY
[NWCALC] Distance between neighboring cell centers projected on the Y-direction
Definition: structs.h:442
int * cidx
Cell indexes.
Definition: structs.h:390
int nActWalls
Run-control number of active calculus walls.
Definition: structs.h:425
int nInlet
Number of inlets in the domain.
Definition: structs.h:358
int indexWriteHotstart
Initial output index for the hortstart initialization.
Definition: structs.h:347
double dtOut
Temporal frequency for writing state resutls.
Definition: structs.h:350
double * modulou
[NCELLS] Velocity modulus in cells
Definition: structs.h:399
int nSolutes
Number of solutes.
Definition: structs.h:382
int * idw1
[NWCALC] Wall-ordering flag in left-cell
Definition: structs.h:433
double qTotalOut
Run-control outflow discharge inegrated for all the outlet boundaries.
Definition: structs.h:379
double * dhv
[NCELLS*NCWALL] Wall-contributions to cell X-momentum
Definition: structs.h:414
double massOut
Run-control total outflow volume accumulated during the simulation.
Definition: structs.h:377
double tf
Final time for simulation.
Definition: structs.h:342
double * gp
[NWCALC] Projected gravity acceleration along the bed-normal direction :: gp=g*cos^2(B)
Definition: structs.h:445
double dt
Run-control time step.
Definition: structs.h:364
double massIn
Run-control total inflow volume accumulated during the simulation.
Definition: structs.h:376
double * csol
[NSOL x NCELLS] Solute concentration in cells
Definition: structs.h:479
double * normalY
[NWCALC] Y-normal for calculus wall
Definition: structs.h:437
double * SOX
[NCELLS] X-direction bed slope
Definition: structs.h:404
int * typeOfBound
[NWCALC] Type of bound condition at the wall
Definition: structs.h:447
double qTotalIn
Run-control inflow discharge inegrated for all the inlet boundaries.
Definition: structs.h:378
double * normalX
[NWCALC] X-normal for calculus wall
Definition: structs.h:436
int * solidWall
[NWCALC] Local flag of solid wall behaviour for calculus wall
Definition: structs.h:448
double * v
[NCELLS] Y-velocity in cells
Definition: structs.h:398
Open boundary geometry and flow conditions.
Definition: structs.h:278
int ncellsBound
Definition: structs.h:282
double qDischarge
Definition: structs.h:299
double qMass
Definition: structs.h:299
t_node node[2]
Definition: structs.h:300
double * Fr
Definition: structs.h:291
double levelControl
Definition: structs.h:297
double totalArea
Definition: structs.h:295
t_c_cell * cellzMin
Definition: structs.h:284
double zmin
Definition: structs.h:296
t_c_cell ** cellInner
Definition: structs.h:287
t_node normal
Definition: structs.h:300
double qsolid
Definition: structs.h:307
double * q
Definition: structs.h:289
int n
Definition: structs.h:281
t_wall ** wallBound
Definition: structs.h:285
int ncellsInner
Definition: structs.h:283
double ** phi
Definition: structs.h:292
int iAct
Definition: structs.h:305
double * hZ
Definition: structs.h:290
double maxFroude
Definition: structs.h:293
double totalLength
Definition: structs.h:294
int type
Definition: structs.h:280
int flagInitialize
Definition: structs.h:298
t_c_cell ** cellBound
Definition: structs.h:286
double qliquid
Definition: structs.h:306
double * t
Definition: structs.h:288
char idname[1024]
Definition: structs.h:279
Calculus cells: flow variables in cells.
Definition: structs.h:120
double zini
Definition: structs.h:131
double h
Definition: structs.h:123
double v
Definition: structs.h:127
double hini
Definition: structs.h:130
double nMan
Definition: structs.h:133
int id
Definition: structs.h:121
t_g_cell * geom
Definition: structs.h:135
double * phi
Definition: structs.h:139
double hv
Definition: structs.h:125
double modulou
Definition: structs.h:128
double hu
Definition: structs.h:124
double z
Definition: structs.h:122
double * hphi
Definition: structs.h:138
double u
Definition: structs.h:126
Arrange the pointers to CUDA memory for all the run-control and data-arrays in t_arrays.
Definition: structs.h:494
double * massNew
Definition: structs.h:505
int * nActCells
Definition: structs.h:500
double * normalY
Definition: structs.h:527
int * nActWalls
Definition: structs.h:500
double * qnormalL
Definition: structs.h:530
double * lengthwallIn
Definition: structs.h:537
int * idBoundIn
Definition: structs.h:535
double * t
Definition: structs.h:498
double * dhu
Definition: structs.h:519
double * normalX
Definition: structs.h:527
double * massOld
Definition: structs.h:505
double * deltaX
Definition: structs.h:527
int * activeW
Definition: structs.h:524
double * massError
Definition: structs.h:506
int * check
Definition: structs.h:496
double * csol
Definition: structs.h:552
int * cidxOut
Definition: structs.h:539
int * idw2
Definition: structs.h:526
double * SOX
Definition: structs.h:515
double * distCentY
Definition: structs.h:527
int * typeOfBound
Definition: structs.h:529
double * qTotalOut
Definition: structs.h:508
int * cidx
Definition: structs.h:512
int * neighWall
Definition: structs.h:520
int * cidxIn
Definition: structs.h:534
double * hu
Definition: structs.h:514
double * dhcsol
Definition: structs.h:555
int * typeDiff
Definition: structs.h:548
double * k_yy
Definition: structs.h:549
double * k_xx
Definition: structs.h:549
int * activeC
Definition: structs.h:513
int * actWalls
Definition: structs.h:524
int * solidWall
Definition: structs.h:529
double * v
Definition: structs.h:514
int * indexDump
Definition: structs.h:502
double * normalYwallOut
Definition: structs.h:541
int * widx
Definition: structs.h:525
int * idx2
Definition: structs.h:526
double * SOY
Definition: structs.h:515
double * hcsol
Definition: structs.h:552
int * idBoundOut
Definition: structs.h:540
double * nman2wall
Definition: structs.h:528
int * nneig
Definition: structs.h:512
double * sqrh
Definition: structs.h:514
double * length
Definition: structs.h:527
double * hv
Definition: structs.h:514
int * index
Definition: structs.h:496
double * qTotalIn
Definition: structs.h:508
int * actCells
Definition: structs.h:513
double * distNormal
Definition: structs.h:527
double * distCentX
Definition: structs.h:527
double * u
Definition: structs.h:514
double * area
Definition: structs.h:515
int * idw1
Definition: structs.h:526
double * normalXbyCell
Definition: structs.h:521
double * dhv
Definition: structs.h:519
double * nman
Definition: structs.h:515
int * indexOut
Definition: structs.h:502
int * solidWallByCell
Definition: structs.h:520
double * h
Definition: structs.h:514
double * lengthwallOut
Definition: structs.h:542
int * nIter
Definition: structs.h:502
int * neighCell
Definition: structs.h:520
double * normalYbyCell
Definition: structs.h:521
double * modulou
Definition: structs.h:514
double * normalYwallIn
Definition: structs.h:536
double * normalXwallIn
Definition: structs.h:536
double * z
Definition: structs.h:514
double * normalXwallOut
Definition: structs.h:541
int * dumpState
Definition: structs.h:503
int * dumpComponent
Definition: structs.h:503
double * dt
Definition: structs.h:498
double * gp
Definition: structs.h:528
int * idx1
Definition: structs.h:526
double * localDt
Definition: structs.h:530
double * dh
Definition: structs.h:519
double * mass
Definition: structs.h:516
Geometrical edges for mesh topology construction.
Definition: structs.h:256
int id
Definition: structs.h:257
double normal[3]
Definition: structs.h:258
double length
Definition: structs.h:260
int isBoundary
Definition: structs.h:261
Geometry cells: mesh characteristics in cells.
Definition: structs.h:157
double Lwallmax
Definition: structs.h:172
int nbound
Definition: structs.h:167
t_edge * wall
Definition: structs.h:171
int nneig
Definition: structs.h:166
int isBound
Definition: structs.h:159
t_wall * neigwall[4]
Definition: structs.h:170
double area
Definition: structs.h:164
t_c_cell * neigcell[4]
Definition: structs.h:169
int id
Definition: structs.h:158
t_node * nodes[4]
Definition: structs.h:168
double center[3]
Definition: structs.h:165
Geometrical mesh and flow data.
Definition: structs.h:82
l_wall * w_calc
Definition: structs.h:97
l_c_cells * c_cells
Definition: structs.h:92
double maxZ
Definition: structs.h:108
l_g_cells * g_cells
Definition: structs.h:93
double minZ
Definition: structs.h:108
l_wall * w_bound
Definition: structs.h:96
l_c_cells * b_cells
Definition: structs.h:99
int NCwall
Definition: structs.h:84
int nOutlet
Definition: structs.h:104
int id
Definition: structs.h:83
int nw_calc
Definition: structs.h:88
l_nodes * nodes
Definition: structs.h:94
int nTotalCellsIn
Definition: structs.h:102
int nnodes
Definition: structs.h:85
int nw_bound
Definition: structs.h:89
t_bound * out
Definition: structs.h:106
int nInlet
Definition: structs.h:101
int nSolutes
Definition: structs.h:111
int ncellsBound
Definition: structs.h:87
t_bound * in
Definition: structs.h:103
l_solutes * solutes
Definition: structs.h:112
int ncells
Definition: structs.h:86
int nTotalCellsOut
Definition: structs.h:105
Compilation and execution messages.
Definition: structs.h:41
char ** MsgL3
Definition: structs.h:54
int nWarning
Definition: structs.h:45
char logFile[1024]
Log file path.
Definition: structs.h:42
char ** MsgL1
Definition: structs.h:50
int nMsgL0
Definition: structs.h:47
int nMsgL3
Definition: structs.h:53
int error
Definition: structs.h:43
char ** MsgL0
Definition: structs.h:48
char ** MsgL2
Definition: structs.h:52
char ** warning
Definition: structs.h:46
int nMsgL1
Definition: structs.h:49
char errorProperty[1024]
Error string.
Definition: structs.h:44
int nMsgL2
Definition: structs.h:51
Geometry mesh node.
Definition: structs.h:189
double y
Definition: structs.h:191
double x
Definition: structs.h:191
double z
Definition: structs.h:191
int id
Definition: structs.h:190
Simulation execution paramenters.
Definition: structs.h:61
double dtOut
Definition: structs.h:72
double CFL
Definition: structs.h:65
int writeMass
Definition: structs.h:67
int nIterOut
Definition: structs.h:71
double minh
Definition: structs.h:74
int gpuid
Definition: structs.h:64
double tf
Definition: structs.h:65
double ti
Definition: structs.h:65
double dtDump
Definition: structs.h:73
char dir[1024]
Definition: structs.h:63
int ncores
Definition: structs.h:64
char proj[1024]
Definition: structs.h:62
int writeExtremes
Definition: structs.h:68
int indexWriteHotstart
Definition: structs.h:69
Passive solute.
Definition: structs.h:314
int typeDiff
Diffusion model.
Definition: structs.h:316
double k_xx
Definition: structs.h:317
char name[STR_SIZE]
Solute name.
Definition: structs.h:315
double maxConc
Definition: structs.h:318
double k_yy
Longitudinal and transversal diffusion coefficients.
Definition: structs.h:317
Timers for accounting computational time.
Definition: structs.h:564
double loading
Definition: structs.h:566
double wallCalculus
Definition: structs.h:570
double wetDryFix
Definition: structs.h:573
double total
Definition: structs.h:565
double cellUpdating
Definition: structs.h:571
double init
Definition: structs.h:567
double boundConditon
Definition: structs.h:572
double writeOut
Definition: structs.h:575
double computeSim
Definition: structs.h:569
double memoryTransfer
Definition: structs.h:574
double initGPU
Definition: structs.h:568
Wall characteristics for computation.
Definition: structs.h:209
double normal[2]
Definition: structs.h:223
int node2
Definition: structs.h:213
int j
Definition: structs.h:218
t_g_cell * gcells[2]
Definition: structs.h:232
t_c_cell * ccells[2]
Definition: structs.h:231
int id2
Definition: structs.h:221
int node1
Definition: structs.h:212
double ncy
Definition: structs.h:228
double ncx
Definition: structs.h:228
int idWall
Definition: structs.h:210
double distCenter
Definition: structs.h:227
int i
Definition: structs.h:216
double length
Definition: structs.h:226
double deltaX
Definition: structs.h:224
double lwall
Definition: structs.h:222
int id
Definition: structs.h:220
double distNormal
Definition: structs.h:225
int idBound
Definition: structs.h:234
int typeOfBound
Definition: structs.h:235