#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) |
| 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 | |||
| ) |
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_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 | ) |
| 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 | |||
| ) |
| double* inter_1d | ( | double * | u_h, | |
| double * | u_2h, | |||
| int | n_2h | |||
| ) |
| double** inter_2d | ( | double ** | u_h, | |
| double ** | u_2h, | |||
| int | n_2h | |||
| ) |
| double*** 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 | |||
| ) |
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().
| 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().
| 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().
| 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* 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* 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* 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 | |||
| ) |
| 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 | |||
| ) |
1.5.2