Bugfix in impes transport for well perforations, function signature change.

This commit is contained in:
Atgeirr Flø Rasmussen 2011-04-18 13:51:54 +02:00
parent 40c90929a6
commit e2e5ef8caf
2 changed files with 19 additions and 17 deletions

View File

@ -1198,13 +1198,14 @@ cfs_tpfa_impes_maxtime(grid_t *G,
/* ---------------------------------------------------------------------- */
void
cfs_tpfa_expl_mass_transport(grid_t *G,
well_t *W,
int np,
double dt,
const double *porevol,
struct cfs_tpfa_data *h,
double *surf_vol)
cfs_tpfa_expl_mass_transport(grid_t *G,
well_t *W,
struct completion_data *wdata,
int np,
double dt,
const double *porevol,
struct cfs_tpfa_data *h,
double *surf_vol)
/* ---------------------------------------------------------------------- */
{
int c, i, f, c2, p, w;
@ -1251,10 +1252,10 @@ cfs_tpfa_expl_mass_transport(grid_t *G,
for (w = i = 0; w < W->number_of_wells; w++) {
for (; i < W->well_connpos[w + 1]; i++) {
c = W->well_cells[i];
/* Get pressure difference between cell and well perforation */
dp = wpress[i] - cpress[c];
/* Get difference between cell pressure and well bhp */
dp = wpress[w] - cpress[c];
for (p = 0; p < np; p++) {
dz = masstrans_p[i*np + p]* dp;
dz = masstrans_p[i*np + p] * (dp + wdata->gpot[i*np + p]);
/* A positive dz means flow from the well perforation
i into the cell c */
surf_vol[c*np + p] += dz * dt / porevol[c];

View File

@ -108,13 +108,14 @@ cfs_tpfa_impes_maxtime(grid_t *G,
const double *gravity);
void
cfs_tpfa_expl_mass_transport(grid_t *G,
well_t *W,
int np,
double dt,
const double *porevol,
struct cfs_tpfa_data *h,
double *surf_vol);
cfs_tpfa_expl_mass_transport(grid_t *G,
well_t *W,
struct completion_data *wdata,
int np,
double dt,
const double *porevol,
struct cfs_tpfa_data *h,
double *surf_vol);
void
cfs_tpfa_destroy(struct cfs_tpfa_data *h);