Track reverse mapping into WI/depth tables in 'cwells'. Update
allocation sizes accordingly.
This commit is contained in:
parent
d96229619e
commit
790d6f4b8b
7
well.c
7
well.c
@ -28,7 +28,7 @@ allocate_cell_wells(int nc, well_t *W, int **cwpos, int **cwells)
|
|||||||
totwconn = W->well_connpos[W->number_of_wells];
|
totwconn = W->well_connpos[W->number_of_wells];
|
||||||
|
|
||||||
*cwpos = calloc(nc + 1 , sizeof **cwpos );
|
*cwpos = calloc(nc + 1 , sizeof **cwpos );
|
||||||
*cwells = malloc(totwconn * sizeof **cwells);
|
*cwells = malloc(2 * totwconn * sizeof **cwells);
|
||||||
|
|
||||||
if ((*cwpos == NULL) || (*cwells == NULL)) {
|
if ((*cwpos == NULL) || (*cwells == NULL)) {
|
||||||
deallocate_cell_wells(*cwpos, *cwells);
|
deallocate_cell_wells(*cwpos, *cwells);
|
||||||
@ -69,7 +69,10 @@ derive_cell_wells(int nc, well_t *W, int *cwpos, int *cwells)
|
|||||||
c = W->well_cells;
|
c = W->well_cells;
|
||||||
for (w = 0; w < W->number_of_wells; w++) {
|
for (w = 0; w < W->number_of_wells; w++) {
|
||||||
for (; c != W->well_cells + connpos[w + 1]; c++) {
|
for (; c != W->well_cells + connpos[w + 1]; c++) {
|
||||||
cwells[ cwpos[*c + 1] ++ ] = w;
|
cwells[ 2*cwpos[*c + 1] + 0 ] = w;
|
||||||
|
cwells[ 2*cwpos[*c + 1] + 1 ] = c - W->well_cells;
|
||||||
|
|
||||||
|
cwpos[*c + 1] += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user