/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/flow/flow.c File Reference

#include <stdio.h>
#include "flow.h"
#include <utils/utils.h>

Go to the source code of this file.

Functions

double * solve_excess_pore_pressure (double *psi, double *k, double *c, int n, double dz, double dt, double psi_top, double sed_rate)
void get_matrix_coefficients (double *psi, double *k, double *c, double ds, double dz, double dt, double psi_top, int n, double f, double *l, double *d, double *u, double *b)
double * solve_excess_pore_pressure_mg (double *psi, double *k, double *c, int n, double dz, double dt, double sed_rate)
double ** solve_excess_pore_pressure_mg_2d (double **psi, double **kx, double **kz, double **c, int n, double dx, double dz, double dt, double *sed_rate)
double *** solve_excess_pore_pressure_mg_3d (double ***psi, double ***kx, double ***kz, double ***c, int n, double dx, double dz, double dt, double **sed_rate)
double * restrict_1d (double *u_2h, double *u_h, int n_h)
double ** restrict_2d (double **u_2h, double **u_h, int n_h)
double *** restrict_3d (double ***u_2h, double ***u_h, int n_h)
double * inter_1d (double *u_h, double *u_2h, int n_2h)
double ** inter_2d (double **u_h, double **u_2h, int n_2h)
void print_matrix (double **a, int n)
void print_matrix_3d (double ***a, int n)
double *** inter_3d (double ***u_h, double ***u_2h, int n_2h)
double * relax_1d (double *u, double *k, double *f, int n, double dz, double dt)
double ** relax_2d (double **u, double **kx, double **kz, double **f, int n, double dx, double dz, double dt)
double *** relax_3d (double ***u, double ***kx, double ***kz, double ***f, int n, double dx, double dz, double dt)
double * residual_1d (double *res, double *u, double *k, double *f, int n, double dz, double dt)
double ** residual_2d (double **res, double **u, double **kx, double **kz, double **f, int n, double dx, double dz, double dt)
double *** residual_3d (double ***res, double ***u, double ***kx, double ***kz, double ***f, int n, double dx, double dz, double dt)
double * solve_1d (double *u, double *k, double *f, double dz, double dt)
double ** solve_2d (double **u, double **kx, double **kz, double **f, double dx, double dz, double dt)
double *** solve_3d (double ***u, double ***kx, double ***kz, double ***f, double dx, double dz, double dt)
double * add_inter_1d (double *u_h, double *u_2h, int n_2h)
double ** add_inter_2d (double **u_h, double **u_2h, int n_2h)
double *** add_inter_3d (double ***u_h, double ***u_2h, int n_2h)
double * mgm_1d (double *u_h, double *k_h, double *f_h, int n_h, double dz, double dt)
double ** mgm_2d (double **u_h, double **kx_h, double **kz_h, double **f_h, int n_h, double dx, double dz, double dt)
double *** mgm_3d (double ***u_h, double ***kx_h, double ***kz_h, double ***f_h, int n_h, double dx, double dz, double dt)
double * fmg_1d (double *u_h, double *k_h, double *f_h, int n_h, double dz, double dt)
double ** fmg_2d (double **u_h, double **kx_h, double **kz_h, double **f_h, int n_h, double dx, double dz, double dt)
double *** fmg_3d (double ***u_h, double ***kx_h, double ***kz_h, double ***f_h, int n_h, double dx, double dz, double dt)
double * allocate_1d (int n)
double ** allocate_2d (int n)
double *** allocate_3d (int n)
void free_2d (double **a)
void free_3d (double ***a)


Function Documentation

double* add_inter_1d ( double *  u_h,
double *  u_2h,
int  n_2h 
)

Definition at line 571 of file flow.c.

References eh_free, eh_new, and inter_1d().

Referenced by mgm_1d().

double** add_inter_2d ( double **  u_h,
double **  u_2h,
int  n_2h 
)

Definition at line 586 of file flow.c.

References allocate_2d(), eh_free, and inter_2d().

Referenced by mgm_2d().

double*** add_inter_3d ( double ***  u_h,
double ***  u_2h,
int  n_2h 
)

Definition at line 605 of file flow.c.

References allocate_3d(), free_3d(), and inter_3d().

Referenced by mgm_3d().

double* allocate_1d ( int  n  ) 

Definition at line 969 of file flow.c.

References eh_new.

double** allocate_2d ( int  n  ) 

Definition at line 974 of file flow.c.

References eh_new.

Referenced by add_inter_2d(), fmg_2d(), main(), mgm_2d(), and solve_excess_pore_pressure_mg_2d().

double*** allocate_3d ( int  n  ) 

Definition at line 985 of file flow.c.

References eh_new.

Referenced by add_inter_3d(), fmg_3d(), main(), mgm_3d(), and solve_excess_pore_pressure_mg_3d().

double* fmg_1d ( double *  u_h,
double *  k_h,
double *  f_h,
int  n_h,
double  dz,
double  dt 
)

Definition at line 748 of file flow.c.

References eh_new, inter_1d(), log2(), mgm_1d(), and restrict_1d().

Referenced by solve_excess_pore_pressure_mg().

double** fmg_2d ( double **  u_h,
double **  kx_h,
double **  kz_h,
double **  f_h,
int  n_h,
double  dx,
double  dz,
double  dt 
)

Definition at line 796 of file flow.c.

References allocate_2d(), eh_new, free_2d(), inter_2d(), log2(), mgm_2d(), and restrict_2d().

Referenced by solve_excess_pore_pressure_mg_2d().

double*** fmg_3d ( double ***  u_h,
double ***  kx_h,
double ***  kz_h,
double ***  f_h,
int  n_h,
double  dx,
double  dz,
double  dt 
)

Definition at line 871 of file flow.c.

References allocate_3d(), eh_free, eh_new, free_3d(), inter_3d(), log2(), mgm_3d(), and restrict_3d().

Referenced by solve_excess_pore_pressure_mg_3d().

void free_2d ( double **  a  ) 

Definition at line 1016 of file flow.c.

References eh_free.

Referenced by fmg_2d().

void free_3d ( double ***  a  ) 

Definition at line 1022 of file flow.c.

References eh_free.

Referenced by add_inter_3d(), fmg_3d(), mgm_3d(), and solve_excess_pore_pressure_mg_3d().

void get_matrix_coefficients ( double *  psi,
double *  k,
double *  c,
double  ds,
double  dz,
double  dt,
double  psi_top,
int  n,
double  f,
double *  l,
double *  d,
double *  u,
double *  b 
)

Definition at line 126 of file flow.c.

Referenced by solve_excess_pore_pressure().

double* inter_1d ( double *  u_h,
double *  u_2h,
int  n_2h 
)

Definition at line 294 of file flow.c.

Referenced by add_inter_1d(), and fmg_1d().

double** inter_2d ( double **  u_h,
double **  u_2h,
int  n_2h 
)

Definition at line 308 of file flow.c.

Referenced by add_inter_2d(), and fmg_2d().

double*** inter_3d ( double ***  u_h,
double ***  u_2h,
int  n_2h 
)

Definition at line 332 of file flow.c.

Referenced by add_inter_3d(), and fmg_3d().

double* mgm_1d ( double *  u_h,
double *  k_h,
double *  f_h,
int  n_h,
double  dz,
double  dt 
)

Definition at line 624 of file flow.c.

References add_inter_1d(), eh_free, eh_new, eh_new0, mgm_1d(), relax_1d(), residual_1d(), restrict_1d(), and solve_1d().

Referenced by fmg_1d(), and mgm_1d().

double** mgm_2d ( double **  u_h,
double **  kx_h,
double **  kz_h,
double **  f_h,
int  n_h,
double  dx,
double  dz,
double  dt 
)

Definition at line 659 of file flow.c.

References add_inter_2d(), allocate_2d(), eh_free, mgm_2d(), relax_2d(), residual_2d(), restrict_2d(), and solve_2d().

Referenced by fmg_2d(), and mgm_2d().

double*** mgm_3d ( double ***  u_h,
double ***  kx_h,
double ***  kz_h,
double ***  f_h,
int  n_h,
double  dx,
double  dz,
double  dt 
)

Definition at line 705 of file flow.c.

References add_inter_3d(), allocate_3d(), free_3d(), mgm_3d(), relax_3d(), residual_3d(), restrict_3d(), and solve_3d().

Referenced by fmg_3d(), and mgm_3d().

void print_matrix ( double **  a,
int  n 
)

Definition at line 1029 of file flow.c.

void print_matrix_3d ( double ***  a,
int  n 
)

Definition at line 1040 of file flow.c.

double* relax_1d ( double *  u,
double *  k,
double *  f,
int  n,
double  dz,
double  dt 
)

Definition at line 370 of file flow.c.

Referenced by mgm_1d().

double** relax_2d ( double **  u,
double **  kx,
double **  kz,
double **  f,
int  n,
double  dx,
double  dz,
double  dt 
)

Definition at line 386 of file flow.c.

Referenced by mgm_2d().

double*** relax_3d ( double ***  u,
double ***  kx,
double ***  kz,
double ***  f,
int  n,
double  dx,
double  dz,
double  dt 
)

Definition at line 413 of file flow.c.

Referenced by mgm_3d().

double* residual_1d ( double *  res,
double *  u,
double *  k,
double *  f,
int  n,
double  dz,
double  dt 
)

Definition at line 446 of file flow.c.

Referenced by mgm_1d().

double** residual_2d ( double **  res,
double **  u,
double **  kx,
double **  kz,
double **  f,
int  n,
double  dx,
double  dz,
double  dt 
)

Definition at line 461 of file flow.c.

Referenced by mgm_2d().

double*** residual_3d ( double ***  res,
double ***  u,
double ***  kx,
double ***  kz,
double ***  f,
int  n,
double  dx,
double  dz,
double  dt 
)

Definition at line 489 of file flow.c.

Referenced by mgm_3d().

double* restrict_1d ( double *  u_2h,
double *  u_h,
int  n_h 
)

Definition at line 222 of file flow.c.

Referenced by fmg_1d(), and mgm_1d().

double** restrict_2d ( double **  u_2h,
double **  u_h,
int  n_h 
)

Definition at line 236 of file flow.c.

Referenced by fmg_2d(), and mgm_2d().

double*** restrict_3d ( double ***  u_2h,
double ***  u_h,
int  n_h 
)

Definition at line 261 of file flow.c.

Referenced by fmg_3d(), and mgm_3d().

double* solve_1d ( double *  u,
double *  k,
double *  f,
double  dz,
double  dt 
)

Definition at line 525 of file flow.c.

Referenced by mgm_1d().

double** solve_2d ( double **  u,
double **  kx,
double **  kz,
double **  f,
double  dx,
double  dz,
double  dt 
)

Definition at line 535 of file flow.c.

Referenced by mgm_2d().

double*** solve_3d ( double ***  u,
double ***  kx,
double ***  kz,
double ***  f,
double  dx,
double  dz,
double  dt 
)

Definition at line 552 of file flow.c.

Referenced by mgm_3d().

double* solve_excess_pore_pressure ( double *  psi,
double *  k,
double *  c,
int  n,
double  dz,
double  dt,
double  psi_top,
double  sed_rate 
)

Definition at line 25 of file flow.c.

References eh_free, eh_new, eh_watch_dbl, get_matrix_coefficients(), and tridiag().

Referenced by main(), and run_darcy_flow().

double* solve_excess_pore_pressure_mg ( double *  psi,
double *  k,
double *  c,
int  n,
double  dz,
double  dt,
double  sed_rate 
)

Definition at line 164 of file flow.c.

References eh_free, eh_new, and fmg_1d().

double** solve_excess_pore_pressure_mg_2d ( double **  psi,
double **  kx,
double **  kz,
double **  c,
int  n,
double  dx,
double  dz,
double  dt,
double *  sed_rate 
)

Definition at line 181 of file flow.c.

References allocate_2d(), eh_free, and fmg_2d().

Referenced by main().

double*** solve_excess_pore_pressure_mg_3d ( double ***  psi,
double ***  kx,
double ***  kz,
double ***  c,
int  n,
double  dx,
double  dz,
double  dt,
double **  sed_rate 
)

Definition at line 201 of file flow.c.

References allocate_3d(), fmg_3d(), and free_3d().

Referenced by main().


Generated on Fri Jan 4 18:04:17 2008 for sedflux by  doxygen 1.5.2