GRASS Programmer's Manual  6.4.2(2012)
N_gwflow.c File Reference
#include "grass/N_gwflow.h"
Include dependency graph for N_gwflow.c:

Go to the source code of this file.

Functions

N_gwflow_data3dN_alloc_gwflow_data3d (int cols, int rows, int depths, int river, int drain)
 Alllocate memory for the groundwater calculation data structure in 3 dimensions.
void N_free_gwflow_data3d (N_gwflow_data3d *data)
 Release the memory of the groundwater flow data structure in three dimensions.
N_gwflow_data2dN_alloc_gwflow_data2d (int cols, int rows, int river, int drain)
 Alllocate memory for the groundwater calculation data structure in 2 dimensions.
void N_free_gwflow_data2d (N_gwflow_data2d *data)
 Release the memory of the groundwater flow data structure in two dimensions.
N_data_starN_callback_gwflow_3d (void *gwdata, N_geom_data *geom, int col, int row, int depth)
 This callback function creates the mass balance of a 7 point star.
N_data_starN_callback_gwflow_2d (void *gwdata, N_geom_data *geom, int col, int row)
 This callback function creates the mass balance of a 5 point star.

Function Documentation

N_gwflow_data2d* N_alloc_gwflow_data2d ( int  cols,
int  rows,
int  river,
int  drain 
)

Alllocate memory for the groundwater calculation data structure in 2 dimensions.

The groundwater calculation data structure will be allocated including all appendant 2d arrays. The offset for the 3d arrays is one to establish homogeneous Neumann boundary conditions at the calculation area border. This data structure is used to create a linear equation system based on the computation of groundwater flow in porous media with the finite volume method.

Parameters:
colsint
rowsint
Returns:
N_gwflow_data2d *

Definition at line 148 of file N_gwflow.c.

References N_gwflow_data2d::bottom, gui_modules::menudata::data, N_gwflow_data2d::drain_bed, N_gwflow_data2d::drain_leak, N_gwflow_data2d::hc_x, N_gwflow_data2d::hc_y, N_alloc_array_2d(), N_gwflow_data2d::nf, NULL, N_gwflow_data2d::phead, N_gwflow_data2d::phead_start, N_gwflow_data2d::q, N_gwflow_data2d::r, N_gwflow_data2d::river_bed, N_gwflow_data2d::river_head, N_gwflow_data2d::river_leak, N_gwflow_data2d::s, N_gwflow_data2d::status, and N_gwflow_data2d::top.

N_gwflow_data3d* N_alloc_gwflow_data3d ( int  cols,
int  rows,
int  depths,
int  river,
int  drain 
)

Alllocate memory for the groundwater calculation data structure in 3 dimensions.

The groundwater calculation data structure will be allocated including all appendant 3d and 2d arrays. The offset for the 3d arrays is one to establish homogeneous Neumann boundary conditions at the calculation area border. This data structure is used to create a linear equation system based on the computation of groundwater flow in porous media with the finite volume method.

Parameters:
colsint
rowsint
depthsint
Returns:
N_gwflow_data3d *

Definition at line 38 of file N_gwflow.c.

References gui_modules::menudata::data, N_gwflow_data3d::drain_bed, N_gwflow_data3d::drain_leak, N_gwflow_data3d::hc_x, N_gwflow_data3d::hc_y, N_gwflow_data3d::hc_z, N_alloc_array_2d(), N_alloc_array_3d(), N_gwflow_data3d::nf, NULL, N_gwflow_data3d::phead, N_gwflow_data3d::phead_start, N_gwflow_data3d::q, N_gwflow_data3d::r, N_gwflow_data3d::river_bed, N_gwflow_data3d::river_head, N_gwflow_data3d::river_leak, N_gwflow_data3d::s, and N_gwflow_data3d::status.

N_data_star* N_callback_gwflow_3d ( void *  gwdata,
N_geom_data geom,
int  col,
int  row,
int  depth 
)

This callback function creates the mass balance of a 7 point star.

The mass balance is based on the common groundwater flow equation:

\[Ss \frac{\partial h}{\partial t} = \nabla {\bf K} \nabla h + q \]

This equation is discretizised with the finite volume method in three dimensions.

Parameters:
gwdataN_gwflow_data3d *
geomN_geom_data *
colint
rowint
depthint
Returns:
N_data_star *

Definition at line 263 of file N_gwflow.c.

References C, gui_modules::menudata::data, N_geom_data::depths, N_gwflow_data3d::dt, N_geom_data::dx, N_geom_data::dy, N_geom_data::dz, G_debug(), N_gwflow_data3d::hc_x, N_gwflow_data3d::hc_y, N_gwflow_data3d::hc_z, N, N_calc_harmonic_mean(), N_create_7star(), N_get_array_2d_d_value(), N_get_array_3d_d_value(), N_get_geom_data_area_of_cell(), N_gwflow_data3d::nf, N_gwflow_data3d::phead_start, N_gwflow_data3d::q, gui_modules::menuform::q, r, N_gwflow_data3d::r, and N_gwflow_data3d::s.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines