mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Move opmpressure/src into core library directory structure.
This commit is contained in:
parent
33444d6cdd
commit
dfff0469a1
1301
src/cfs_tpfa.c
1301
src/cfs_tpfa.c
File diff suppressed because it is too large
Load Diff
128
src/cfs_tpfa.h
128
src/cfs_tpfa.h
@ -1,128 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2010 SINTEF ICT, Applied Mathematics.
|
|
||||||
|
|
||||||
This file is part of the Open Porous Media project (OPM).
|
|
||||||
|
|
||||||
OPM is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OPM is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef OPM_CFS_TPFA_HEADER_INCLUDED
|
|
||||||
#define OPM_CFS_TPFA_HEADER_INCLUDED
|
|
||||||
|
|
||||||
#include "grid.h"
|
|
||||||
#include "flow_bc.h"
|
|
||||||
#include "well.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct cfs_tpfa_impl;
|
|
||||||
struct CSRMatrix;
|
|
||||||
struct compr_quantities;
|
|
||||||
|
|
||||||
struct cfs_tpfa_data {
|
|
||||||
struct CSRMatrix *A;
|
|
||||||
double *b;
|
|
||||||
double *x;
|
|
||||||
|
|
||||||
struct cfs_tpfa_impl *pimpl;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct cfs_tpfa_data *
|
|
||||||
cfs_tpfa_construct(grid_t *G, well_t *W, int nphases);
|
|
||||||
|
|
||||||
void
|
|
||||||
cfs_tpfa_assemble(grid_t *G,
|
|
||||||
double dt,
|
|
||||||
well_t *W,
|
|
||||||
flowbc_t *bc,
|
|
||||||
const double *src,
|
|
||||||
struct compr_quantities *cq,
|
|
||||||
const double *trans,
|
|
||||||
const double *gravcap_f,
|
|
||||||
well_control_t *wctrl,
|
|
||||||
struct completion_data *wdata,
|
|
||||||
const double *cpress0,
|
|
||||||
const double *porevol,
|
|
||||||
struct cfs_tpfa_data *h);
|
|
||||||
|
|
||||||
void
|
|
||||||
cfs_tpfa_press_flux(grid_t *G,
|
|
||||||
flowbc_t *bc,
|
|
||||||
well_t *W,
|
|
||||||
int np,
|
|
||||||
const double *trans,
|
|
||||||
const double *pmobf,
|
|
||||||
const double *gravcap_f,
|
|
||||||
struct completion_data *wdata,
|
|
||||||
struct cfs_tpfa_data *h,
|
|
||||||
double *cpress,
|
|
||||||
double *fflux,
|
|
||||||
double *wpress,
|
|
||||||
double *wflux);
|
|
||||||
|
|
||||||
void
|
|
||||||
cfs_tpfa_fpress(grid_t *G,
|
|
||||||
flowbc_t *bc,
|
|
||||||
int np,
|
|
||||||
const double *htrans,
|
|
||||||
const double *pmobf,
|
|
||||||
const double *gravcap_f,
|
|
||||||
struct cfs_tpfa_data *h,
|
|
||||||
const double *cpress,
|
|
||||||
const double *fflux,
|
|
||||||
double *fpress);
|
|
||||||
|
|
||||||
void
|
|
||||||
cfs_tpfa_retrieve_masstrans(grid_t *G,
|
|
||||||
int np,
|
|
||||||
struct cfs_tpfa_data *h,
|
|
||||||
double *masstrans_f);
|
|
||||||
|
|
||||||
void
|
|
||||||
cfs_tpfa_retrieve_gravtrans(grid_t *G,
|
|
||||||
int np,
|
|
||||||
struct cfs_tpfa_data *h,
|
|
||||||
double *gravtrans_f);
|
|
||||||
|
|
||||||
double
|
|
||||||
cfs_tpfa_impes_maxtime(grid_t *G,
|
|
||||||
struct compr_quantities *cq,
|
|
||||||
const double *trans,
|
|
||||||
const double *porevol,
|
|
||||||
struct cfs_tpfa_data *h,
|
|
||||||
const double *dpmobf,
|
|
||||||
const double *surf_dens,
|
|
||||||
const double *gravity);
|
|
||||||
|
|
||||||
void
|
|
||||||
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);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* OPM_CFS_TPFA_HEADER_INCLUDED */
|
|
@ -1,64 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2010 SINTEF ICT, Applied Mathematics.
|
|
||||||
|
|
||||||
This file is part of the Open Porous Media project (OPM).
|
|
||||||
|
|
||||||
OPM is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OPM is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef OPM_COMPR_QUANT_HEADER_INCLUDED
|
|
||||||
#define OPM_COMPR_QUANT_HEADER_INCLUDED
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
#include "grid.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct compr_quantities {
|
|
||||||
int nphases; /* Number of phases/components */
|
|
||||||
|
|
||||||
double *totcompr; /* Total compressibility per cell */
|
|
||||||
double *voldiscr; /* Volume discrepancy per cell */
|
|
||||||
double *Ac; /* RB^{-1} per cell */
|
|
||||||
double *Af; /* RB^{-1} per face */
|
|
||||||
double *phasemobf; /* Phase mobility per face */
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
|
||||||
compr_flux_term(grid_t *G,
|
|
||||||
const double *fflux,
|
|
||||||
const double *zeta,
|
|
||||||
double *Biv);
|
|
||||||
|
|
||||||
void
|
|
||||||
compr_accum_term(size_t nc,
|
|
||||||
double dt,
|
|
||||||
const double *porevol,
|
|
||||||
const double *totcompr,
|
|
||||||
double *P);
|
|
||||||
|
|
||||||
void
|
|
||||||
compr_src_add_press_accum(size_t nc,
|
|
||||||
const double *p0,
|
|
||||||
const double *P,
|
|
||||||
double *src);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* OPM_COMPR_QUANT_HEADER_INCLUDED */
|
|
Loading…
Reference in New Issue
Block a user