GRASS GIS 7 Programmer's Manual  7.6.0(2019)-exported
N_pde.h File Reference
#include <grass/gis.h>
#include <grass/raster3d.h>
#include <grass/glocale.h>
#include <grass/gmath.h>
Include dependency graph for N_pde.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  N_les
 The linear equation system (les) structure. More...
 
struct  N_geom_data
 Geometric information about the structured grid. More...
 
struct  N_array_2d
 
struct  N_array_3d
 
struct  N_data_star
 Matrix entries for a mass balance 5/7/9 star system. More...
 
struct  N_les_callback_3d
 callback structure for 3d matrix assembling More...
 
struct  N_les_callback_2d
 callback structure for 2d matrix assembling More...
 
struct  N_gradient_2d
 Gradient between the cells in X and Y direction. More...
 
struct  N_gradient_3d
 Gradient between the cells in X, Y and Z direction. More...
 
struct  N_gradient_neighbours_x
 Gradient between the cell neighbours in X direction. More...
 
struct  N_gradient_neighbours_y
 Gradient between the cell neighbours in Y direction. More...
 
struct  N_gradient_neighbours_z
 Gradient between the cell neighbours in Z direction. More...
 
struct  N_gradient_neighbours_2d
 Gradient between the cell neighbours in X and Y direction. More...
 
struct  N_gradient_neighbours_3d
 Gradient between the cell neighbours in X, Y and Z direction. More...
 
struct  N_gradient_field_2d
 
struct  N_gradient_field_3d
 

Macros

#define N_NORMAL_LES   0
 
#define N_SPARSE_LES   1
 
#define N_CELL_INACTIVE   0
 
#define N_CELL_ACTIVE   1
 
#define N_CELL_DIRICHLET   2
 
#define N_CELL_TRANSMISSION   3
 
#define N_MAX_CELL_STATE   20
 the maximum number of available cell states (eg: boundary condition, inactiven active) More...
 
#define N_5_POINT_STAR   0
 
#define N_7_POINT_STAR   1
 
#define N_9_POINT_STAR   2
 
#define N_27_POINT_STAR   3
 
#define N_MAXIMUM_NORM   0
 
#define N_EUKLID_NORM   1
 
#define N_ARRAY_SUM   0 /* summ two arrays */
 
#define N_ARRAY_DIF   1 /* calc the difference between two arrays */
 
#define N_ARRAY_MUL   2 /* multiply two arrays */
 
#define N_ARRAY_DIV   3 /* array division, if div with 0 the NULL value is set */
 
#define N_UPWIND_FULL   0 /*full upwinding stabilization */
 
#define N_UPWIND_EXP   1 /*exponential upwinding stabilization */
 
#define N_UPWIND_WEIGHT   2 /*weighted upwinding stabilization */
 

Enumerations

enum  N_STD_OPT {
  N_OPT_SOLVER_SYMM, N_OPT_SOLVER_UNSYMM, N_OPT_MAX_ITERATIONS, N_OPT_ITERATION_ERROR,
  N_OPT_SOR_VALUE, N_OPT_CALC_TIME
}
 Standard options of the gpde library. More...
 

Functions

N_lesN_alloc_les_param (int cols, int rows, int type, int param)
 Allocate memory for a quadratic or not quadratic linear equation system. More...
 
N_lesN_alloc_les (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_les_A (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A. More...
 
N_lesN_alloc_les_Ax (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A and vector x. More...
 
N_lesN_alloc_les_Ax_b (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_nquad_les (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_nquad_les_A (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A. More...
 
N_lesN_alloc_nquad_les_Ax (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A and vector x. More...
 
N_lesN_alloc_nquad_les_Ax_b (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
void N_print_les (N_les *les)
 prints the linear equation system to stdout More...
 
void N_free_les (N_les *les)
 Release the memory of the linear equation system. More...
 
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 *geodata)
 Release memory of a pde geometry data structure. More...
 
N_geom_dataN_init_geom_data_3d (RASTER3D_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...
 
N_array_2dN_alloc_array_2d (int cols, int rows, int offset, int type)
 Allocate memory for a N_array_2d data structure. More...
 
void N_free_array_2d (N_array_2d *data_array)
 Release the memory of a N_array_2d structure. More...
 
int N_get_array_2d_type (N_array_2d *array2d)
 Return the data type of the N_array_2d struct. More...
 
void N_get_array_2d_value (N_array_2d *array2d, int col, int row, void *value)
 Write the value of the N_array_2d struct at position col, row to value. More...
 
CELL N_get_array_2d_c_value (N_array_2d *array2d, int col, int row)
 Returns the value of type CELL at position col, row. More...
 
FCELL N_get_array_2d_f_value (N_array_2d *array2d, int col, int row)
 Returns the value of type FCELL at position col, row. More...