/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/flow/flow.h

Go to the documentation of this file.
00001 //---
00002 //
00003 // This file is part of sedflux.
00004 //
00005 // sedflux is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation; either version 2 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // sedflux is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with sedflux; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 //
00019 //---
00020 
00021 #if !defined( GLIB_H )
00022 #define GLIB_H
00023 
00024 #include "glib.h"
00025 #include <utils/utils.h>
00026 
00027 double *solve_excess_pore_pressure( double *psi , double *k , double *c , int n , double dz , double dt , double psi_top , double sed_rate );
00028 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 );
00029 
00030 double *solve_excess_pore_pressure_mg( double *psi , double *k , double *c , int n , double dz , double dt , double sed_rate );
00031 double *restrict_1d( double *u_2h , double *u_h , int n_h );
00032 double *inter_1d( double *u_h , double *u_2h , int n_2h );
00033 double *relax_1d( double *u , double *k , double *f , int n , double dz , double dt );
00034 double *residual_1d( double *res , double *u , double *k , double *f , int n , double dz , double dt );
00035 double *solve_1d( double *u , double *k , double *f , double dz , double dt );
00036 double *add_inter_1d( double *u_h , double *u_2h , int n_2h );
00037 double *mgm_1d( double *u_h , double *k_h , double *f_h , int n_h , double dz , double dt );
00038 double *fmg_1d( double *u_h , double *k_h , double *f_h , int n_h , double dz , double dt );
00039 
00040 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 );
00041 double **restrict_2d( double **u_2h , double **u_h , int n_h );
00042 double **inter_2d( double **u_h , double **u_2h , int n_2h );
00043 double **relax_2d( double **u , double **kx , double **kz , double **f , int n , double dx , double dz , double dt );
00044 double **residual_2d( double **res , double **u , double **kx , double **kz , double **f , int n , double dx , double dz , double dt );
00045 double **solve_2d( double **u , double **kx , double **kz , double **f , double dx , double dz , double dt );
00046 double **add_inter_2d( double **u_h , double **u_2h , int n_2h );
00047 double **mgm_2d( double **u_h , double **kx_h , double **kz_h , double **f_h , int n_h , double dx , double dz , double dt );
00048 double **fmg_2d( double **u_h , double **kx_h , double **kz_h , double **f_h , int n_h , double dx , double dz , double dt );
00049 
00050 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 );
00051 double ***restrict_3d( double ***u_2h , double ***u_h , int n_h );
00052 double ***inter_3d( double ***u_h , double ***u_2h , int n_2h );
00053 double ***relax_3d( double ***u , double ***kx , double ***kz , double ***f , int n , double dx , double dz , double dt );
00054 double ***residual_3d( double ***res , double ***u , double ***kx , double ***kz , double ***f , int n , double dx , double dz , double dt );
00055 double ***solve_3d( double ***u , double ***kx , double ***kz , double ***f , double dx , double dz , double dt );
00056 double ***add_inter_3d( double ***u_h , double ***u_2h , int n_2h );
00057 double ***mgm_3d( double ***u_h , double ***kx_h , double ***kz_h , double ***f_h , int n_h , double dx , double dz , double dt );
00058 double ***fmg_3d( double ***u_h , double ***kx_h , double ***kz_h , double ***f_h , int n_h , double dx , double dz , double dt );
00059 
00060 double *allocate_1d( int );
00061 double **allocate_2d( int );
00062 double ***allocate_3d( int );
00063 void free_2d( double** );
00064 void free_3d( double*** );
00065 
00066 #endif
00067 

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