GRASS GIS 7 Programmer's Manual  7.9.dev(2021)-e5379bbd7
N_heatflow.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * MODULE: Grass PDE Numerical Library
5 * AUTHOR(S): Soeren Gebbert, Berlin (GER) Dec 2006
6 * soerengebbert <at> gmx <dot> de
7 *
8 * PURPOSE: Calculation of heatflow
9 * part of the gpde library
10 *
11 * COPYRIGHT: (C) 2000 by the GRASS Development Team
12 *
13 * This program is free software under the GNU General Public
14 * License (>=v2). Read the file COPYING that comes with GRASS
15 * for details.
16 *
17 *****************************************************************************/
18 
19 #ifndef _N_HEATFLOW_H_
20 #define _N_HEATFLOW_H_
21 #include "N_pde.h"
22 
23 typedef struct
24 {
25  N_array_3d *t; /*temperature */
26  N_array_3d *t_start; /*temperature start conditions */
27  N_array_3d *gamma_x; /*x part of the gamma tensor */
28  N_array_3d *gamma_y; /*y part of the gamma tensor */
29  N_array_3d *gamma_z; /*z part of the gamma tensor */
30  N_array_3d *q; /*sources and sinks */
31  N_array_3d *rho; /*density */
32  N_array_3d *c; /*c */
33 
34  N_array_3d *status; /*active/inactive/dirichlet cell status */
35 
36  double dt; /*calculation time */
37 
39 
40 typedef struct
41 {
42  N_array_2d *t; /*temperature */
43  N_array_2d *t_start; /*temperature start conditions */
44  N_array_2d *gamma_x; /*x part of the gamma tensor */
45  N_array_2d *gamma_y; /*y part of the gamma tensor */
46  N_array_2d *q; /*sources and sinks */
47  N_array_2d *rho; /*density */
48  N_array_2d *c; /*c */
49 
50  N_array_2d *status; /*active/inactive/dirichlet cell status */
51 
52  double dt; /*calculation time */
53 
55 
56 extern N_data_star *N_callback_heatflow_3d(void *heatdata,
57  N_geom_data * geom,
58  int depth, int row, int col);
59 extern N_data_star *N_callback_heatflow_2d(void *heatdata,
60  N_geom_data * geom, int row,
61  int col);
63  int cols);
65 
66 extern void N_free_heatflow_data3d(N_heatflow_data3d * data);
67 
68 extern void N_free_heatflow_data2d(N_heatflow_data2d * data);
69 #endif
void N_free_heatflow_data2d(N_heatflow_data2d *data)
Matrix entries for a mass balance 5/7/9 star system.
Definition: N_pde.h:272
N_array_2d * q
Definition: N_heatflow.h:46
N_data_star * N_callback_heatflow_2d(void *heatdata, N_geom_data *geom, int row, int col)
N_array_3d * gamma_z
Definition: N_heatflow.h:29
N_array_3d * t
Definition: N_heatflow.h:25
N_data_star * N_callback_heatflow_3d(void *heatdata, N_geom_data *geom, int depth, int row, int col)
N_array_3d * t_start
Definition: N_heatflow.h:26
N_array_3d * q
Definition: N_heatflow.h:30
N_array_3d * status
Definition: N_heatflow.h:34
N_array_3d * gamma_x
Definition: N_heatflow.h:27
N_array_3d * rho
Definition: N_heatflow.h:31
N_array_2d * gamma_y
Definition: N_heatflow.h:45
N_array_2d * t
Definition: N_heatflow.h:42
N_array_2d * status
Definition: N_heatflow.h:50
N_array_2d * t_start
Definition: N_heatflow.h:43
N_array_2d * gamma_x
Definition: N_heatflow.h:44
Geometric information about the structured grid.
Definition: N_pde.h:103
N_array_3d * c
Definition: N_heatflow.h:32
N_heatflow_data3d * N_alloc_heatflow_data3d(int depths, int rows, int cols)
N_heatflow_data2d * N_alloc_heatflow_data2d(int rows, int cols)
int depths
number of depths for 3D data
Definition: gis.h:435
N_array_3d * gamma_y
Definition: N_heatflow.h:28
int cols
Number of columns for 2D data.
Definition: gis.h:431
N_array_2d * c
Definition: N_heatflow.h:48
N_array_2d * rho
Definition: N_heatflow.h:47
int rows
Number of rows for 2D data.
Definition: gis.h:427
void N_free_heatflow_data3d(N_heatflow_data3d *data)