GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
N_geom.c File Reference
#include "grass/N_pde.h"
Include dependency graph for N_geom.c:

Go to the source code of this file.

Functions

N_geom_dataN_alloc_geom_data (void)
 Allocate the pde geometry data structure and return a pointer to the new allocated structure. More...
 
void N_free_geom_data (N_geom_data *geom)
 Release memory of a pde geometry data structure. More...
 
N_geom_dataN_init_geom_data_3d (G3D_Region *region3d, N_geom_data *geodata)
 Initiate a pde geometry data structure with a 3d region. More...
 
N_geom_dataN_init_geom_data_2d (struct Cell_head *region, N_geom_data *geodata)
 Initiate a pde geometry data structure with a 2d region. More...
 
double N_get_geom_data_area_of_cell (N_geom_data *geom, int row)
 Get the areay size in square meter of one cell (x*y) at row. More...
 

Function Documentation

N_geom_data* N_alloc_geom_data ( void  )

Allocate the pde geometry data structure and return a pointer to the new allocated structure.

Returns
N_geom_data *

Definition at line 30 of file N_geom.c.

References N_geom_data::area, N_geom_data::dim, NULL, and N_geom_data::planimetric.

Referenced by N_init_geom_data_2d(), and N_init_geom_data_3d().

void N_free_geom_data ( N_geom_data geom)

Release memory of a pde geometry data structure.

Parameters
geomN_geom_data *
Returns
void

Definition at line 50 of file N_geom.c.

References N_geom_data::area, G_free(), and NULL.

double N_get_geom_data_area_of_cell ( N_geom_data geom,
int  row 
)

Get the areay size in square meter of one cell (x*y) at row.

This function works for two and three dimensions

Parameters
geomN_geom_data *
rowint
Returns
area double

Definition at line 199 of file N_geom.c.

References N_geom_data::area, N_geom_data::Az, G_debug(), and N_geom_data::planimetric.

Referenced by N_callback_gwflow_2d(), N_callback_gwflow_3d(), N_callback_solute_transport_2d(), and N_callback_solute_transport_3d().

N_geom_data* N_init_geom_data_2d ( struct Cell_head *  region,
N_geom_data geodata 
)

Initiate a pde geometry data structure with a 2d region.

If the projection is not planimetric, a double array will be created based on the number of rows of the provided region storing all computed areas for each row

Parameters
regionsruct Cell_head *
geodataN_geom_data * - if a NULL pointer is given, a new structure will be allocatet and returned
Returns
N_geom_data *

Definition at line 115 of file N_geom.c.

References N_geom_data::area, N_geom_data::Az, N_geom_data::cols, N_geom_data::dim, N_geom_data::dx, N_geom_data::dy, G_area_of_cell_at_row(), G_begin_cell_area_calculations(), G_database_units_to_meters_factor(), G_debug(), G_free(), G_get_set_window(), G_set_window(), N_alloc_geom_data(), NULL, N_geom_data::planimetric, and N_geom_data::rows.

Referenced by N_init_geom_data_3d().

N_geom_data* N_init_geom_data_3d ( G3D_Region *  region3d,
N_geom_data geodata 
)

Initiate a pde geometry data structure with a 3d region.

If the projection is not planimetric, a double array will be created based on the number of rows of the provided region

Parameters
region3dG3D_Region *
geodataN_geom_data * - if a NULL pointer is given, a new structure will be allocatet and returned
Returns
N_geom_data *

Definition at line 73 of file N_geom.c.

References N_geom_data::depths, N_geom_data::dim, N_geom_data::dz, G3d_regionToCellHead(), G_database_units_to_meters_factor(), G_debug(), G_get_set_window(), N_alloc_geom_data(), N_init_geom_data_2d(), and NULL.