Make first attempt at implementing the residual/Jacobian formulation.

This is a step in the direction of having a true IMPES pressure solver
and to remove the 'experimental_jacobian' option in dune-porsol.
This commit is contained in:
Bård Skaflestad 2011-10-18 20:46:05 +02:00
parent 7fb517e192
commit dd042b75a8
2 changed files with 328 additions and 503 deletions

File diff suppressed because it is too large Load Diff

View File

@ -47,38 +47,32 @@ cfs_tpfa_construct(grid_t *G, well_t *W, int nphases);
void void
cfs_tpfa_assemble(grid_t *G, cfs_tpfa_assemble(grid_t *G,
double dt, double dt,
well_t *W,
flowbc_t *bc, flowbc_t *bc,
const double *src, const double *src,
const double *zc,
struct compr_quantities *cq, struct compr_quantities *cq,
const double *trans, const double *trans,
const double *gravcap_f, const double *gravcap_f,
well_control_t *wctrl, const double *cpress,
struct completion_data *wdata,
const double *cpress0,
const double *porevol, const double *porevol,
struct cfs_tpfa_data *h); struct cfs_tpfa_data *h);
void void
cfs_tpfa_press_increment(grid_t *G, cfs_tpfa_press_increment(grid_t *G,
well_t *W,
struct cfs_tpfa_data *h, struct cfs_tpfa_data *h,
double *cpress_inc, double *cpress_inc);
double *wpress_inc);
#if 0
void void
cfs_tpfa_flux(grid_t *G, cfs_tpfa_flux(grid_t *G,
flowbc_t *bc, flowbc_t *bc,
well_t *W,
int np, int np,
const double *trans, const double *trans,
const double *pmobf, const double *pmobf,
const double *gravcap_f, const double *gravcap_f,
const double *cpress, const double *cpress,
const double *wpress, double *fflux);
struct completion_data *wdata, #endif
double *fflux,
double *wflux);
void void
cfs_tpfa_fpress(grid_t *G, cfs_tpfa_fpress(grid_t *G,