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.  
 
◆ mim_ip_compute_gpress()
      
        
          | 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].  |  
   
   
 
 
 
◆ mim_ip_density_update()
      
        
          | 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.  |  
   
   
 
 
 
◆ mim_ip_linpress_exact()
      
        
          | void mim_ip_linpress_exact  | 
          ( | 
          int  | 
          nf,  | 
         
        
           | 
           | 
          int  | 
          nconn,  | 
         
        
           | 
           | 
          int  | 
          d,  | 
         
        
           | 
           | 
          double  | 
          vol,  | 
         
        
           | 
           | 
          double *  | 
          K,  | 
         
        
           | 
           | 
          double *  | 
          N,  | 
         
        
           | 
           | 
          double *  | 
          Binv,  | 
         
        
           | 
           | 
          double *  | 
          work,  | 
         
        
           | 
           | 
          int  | 
          lwork  | 
         
        
           | 
          ) | 
           |  | 
         
       
 
 
◆ mim_ip_mobility_update()
      
        
          | 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.  |  
   
   
 
 
 
◆ mim_ip_simple()
      
        
          | 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  | 
         
        
           | 
          ) | 
           |  | 
         
       
 
 
◆ mim_ip_simple_all()
      
        
          | 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  .  |  
   
   
 
 
 
◆ mim_ip_span_nullspace()
      
        
          | void mim_ip_span_nullspace  | 
          ( | 
          int  | 
          nf,  | 
         
        
           | 
           | 
          int  | 
          nconn,  | 
         
        
           | 
           | 
          int  | 
          d,  | 
         
        
           | 
           | 
          double *  | 
          C,  | 
         
        
           | 
           | 
          double *  | 
          A,  | 
         
        
           | 
           | 
          double *  | 
          X,  | 
         
        
           | 
           | 
          double *  | 
          work,  | 
         
        
           | 
           | 
          int  | 
          lwork  | 
         
        
           | 
          ) | 
           |  | 
         
       
 
 
 
  
 
    
     |