mimetic.h
Go to the documentation of this file.
1 /*
2  Copyright 2010 SINTEF ICT, Applied Mathematics.
3 
4  This file is part of the Open Porous Media project (OPM).
5 
6  OPM is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  OPM is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef OPM_MIMETIC_HEADER_INCLUDED
21 #define OPM_MIMETIC_HEADER_INCLUDED
22 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
68 void
69 mim_ip_span_nullspace(int nf, int nconn, int d,
70  double *C,
71  double *A,
72  double *X,
73  double *work, int lwork);
74 
106 void
107 mim_ip_linpress_exact(int nf, int nconn, int d,
108  double vol, double *K,
109  double *N,
110  double *Binv,
111  double *work, int lwork);
112 
113 
145 void
146 mim_ip_simple(int nf, int nconn, int d,
147  double v, double *K, double *C,
148  double *A, double *N,
149  double *Binv,
150  double *work, int lwork);
151 
152 
179 void
180 mim_ip_simple_all(int ncells, int d, int max_ncf,
181  int *pconn, int *conn,
182  int *fneighbour, double *fcentroid, double *fnormal,
183  double *farea, double *ccentroid, double *cvol,
184  double *perm, double *Binv);
185 
208 void
209 mim_ip_compute_gpress(int nc, int d, const double *grav,
210  const int *pconn, const int *conn,
211  const double *fcentroid, const double *ccentroid,
212  double *gpress);
213 
214 
238 void
239 mim_ip_mobility_update(int nc, const int *pconn, const double *totmob,
240  const double *Binv0, double *Binv);
241 
242 
267 void
268 mim_ip_density_update(int nc, const int *pconn, const double *omega,
269  const double *gpress0, double *gpress);
270 
271 #ifdef __cplusplus
272 }
273 #endif
274 
275 #endif /* OPM_MIMETIC_HEADER_INCLUDED */
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_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_span_nullspace(int nf, int nconn, int d, double *C, double *A, double *X, 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_density_update(int nc, const int *pconn, const double *omega, const double *gpress0, double *gpress)