Go to the source code of this file.
|
void | mim_ip_span_nullspace (int nf, int nconn, int d, double *C, double *A, double *X, double *work, int lwork) |
|
void | mim_ip_linpress_exact (int nf, int nconn, int d, double vol, double *K, double *N, double *Binv, double *work, int lwork) |
|
void | mim_ip_simple (int nf, int nconn, int d, double v, double *K, double *C, double *A, double *N, double *Binv, double *work, int lwork) |
|
void | mim_ip_simple_all (int ncells, int d, int max_ncf, int *pconn, int *conn, int *fneighbour, double *fcentroid, double *fnormal, double *farea, double *ccentroid, double *cvol, double *perm, double *Binv) |
|
void | mim_ip_compute_gpress (int nc, int d, const double *grav, const int *pconn, const int *conn, const double *fcentroid, const double *ccentroid, double *gpress) |
|
void | mim_ip_mobility_update (int nc, const int *pconn, const double *totmob, const double *Binv0, double *Binv) |
|
void | mim_ip_density_update (int nc, const int *pconn, const double *omega, const double *gpress0, double *gpress) |
|
Routines to assist mimetic discretisations of the flow equation.
void mim_ip_compute_gpress |
( |
int |
nc, |
|
|
int |
d, |
|
|
const double * |
grav, |
|
|
const int * |
pconn, |
|
|
const int * |
conn, |
|
|
const double * |
fcentroid, |
|
|
const double * |
ccentroid, |
|
|
double * |
gpress |
|
) |
| |
Compute local, static gravity pressure contributions to Darcy flow equation discretised using a mimetic finite-difference method.
The pressure contribution of local face in cell is
- Parameters
-
[in] | nc | Number of cells. |
[in] | d | Number of physcial dimensions. |
[in] | grav | Gravity vector. Array of size d . |
[in] | pconn | Start pointers of cell-to-face topology mapping. |
[in] | conn | Actual cell-to-face topology mapping. |
[in] | fcentroid | Face centroids. |
[in] | ccentroid | Cell centroids. |
[out] | gpress | Gravity pressure result. Array of size at least pconn[nc] . |
void mim_ip_density_update |
( |
int |
nc, |
|
|
const int * |
pconn, |
|
|
const double * |
omega, |
|
|
const double * |
gpress0, |
|
|
double * |
gpress |
|
) |
| |
Incorporate effects of multiple fluid phases into existing, local, static mimetic discretisations of gravity pressure.
Specifically, update the result of mim_ip_compute_gpress() according to the rule
in which and denotes the result of function mim_ip_compute_gpress().
- Parameters
-
[in] | nc | Number of cells. |
[in] | pconn | Start pointers of cell-to-face topology mapping. |
[in] | omega | Sum of phase densities weighted by fractional flow. |
[in] | gpress0 | Result of mim_ip_compute_gpress(). |
[out] | gpress | Gravity pressure incorporating effects of multiple fluid phases. |
void mim_ip_linpress_exact |
( |
int |
nf, |
|
|
int |
nconn, |
|
|
int |
d, |
|
|
double |
vol, |
|
|
double * |
K, |
|
|
double * |
N, |
|
|
double * |
Binv, |
|
|
double * |
work, |
|
|
int |
lwork |
|
) |
| |
void mim_ip_mobility_update |
( |
int |
nc, |
|
|
const int * |
pconn, |
|
|
const double * |
totmob, |
|
|
const double * |
Binv0, |
|
|
double * |
Binv |
|
) |
| |
Incorporate effects of multiple phases in mimetic discretisation of flow equations.
Specifically, update the (inverse) inner products previously computed using function mim_ip_linpress_exact() according to the rule
in which denotes the result of mim_ip_linpress_exact() for cell and denotes the total mobility of cell .
- Parameters
-
[in] | nc | Number of cells. |
[in] | pconn | Start pointers of cell-to-face topology mapping. |
[in] | totmob | Total mobility for all cells. Array of size nc . |
[in] | Binv0 | Inverse inner product results for all cells. |
[out] | Binv | Inverse inner product results incorporating effects of multiple fluid phases. |
void mim_ip_simple |
( |
int |
nf, |
|
|
int |
nconn, |
|
|
int |
d, |
|
|
double |
v, |
|
|
double * |
K, |
|
|
double * |
C, |
|
|
double * |
A, |
|
|
double * |
N, |
|
|
double * |
Binv, |
|
|
double * |
work, |
|
|
int |
lwork |
|
) |
| |
void mim_ip_simple_all |
( |
int |
ncells, |
|
|
int |
d, |
|
|
int |
max_ncf, |
|
|
int * |
pconn, |
|
|
int * |
conn, |
|
|
int * |
fneighbour, |
|
|
double * |
fcentroid, |
|
|
double * |
fnormal, |
|
|
double * |
farea, |
|
|
double * |
ccentroid, |
|
|
double * |
cvol, |
|
|
double * |
perm, |
|
|
double * |
Binv |
|
) |
| |
Compute the mimetic inner products given a grid and cell-wise permeability tensors.
This function applies mim_ip_simple() to all specified cells.
- Parameters
-
[in] | ncells | Number of cells. |
[in] | d | Number of physical dimensions. |
[in] | max_ncf | Maximum number of connections (faces) of any individual cell. |
[in] | pconn | Start pointers of cell-to-face topology mapping. |
[in] | conn | Actual cell-to-face topology mapping. |
[in] | fneighbour | Face-to-cell mapping. |
[in] | fcentroid | Face centroids. |
[in] | fnormal | Face normals. |
[in] | farea | Face areas. |
[in] | ccentroid | Cell centroids. |
[in] | cvol | Cell volumes. |
[in] | perm | Cell permeability. |
[out] | Binv | Inverse inner product result. Must point to an array of size at least when denotes the number of connections (faces) of cell . |
void mim_ip_span_nullspace |
( |
int |
nf, |
|
|
int |
nconn, |
|
|
int |
d, |
|
|
double * |
C, |
|
|
double * |
A, |
|
|
double * |
X, |
|
|
double * |
work, |
|
|
int |
lwork |
|
) |
| |
|