GRASS Programmer's Manual  6.4.2(2012)
N_heatflow.h
Go to the documentation of this file.
00001 
00002 /*****************************************************************************
00003 *
00004 * MODULE:       Grass PDE Numerical Library
00005 * AUTHOR(S):    Soeren Gebbert, Berlin (GER) Dec 2006
00006 *               soerengebbert <at> gmx <dot> de
00007 *               
00008 * PURPOSE:      Calculation of heatflow
00009 *               part of the gpde library
00010 *
00011 * COPYRIGHT:    (C) 2000 by the GRASS Development Team
00012 *
00013 *               This program is free software under the GNU General Public
00014 *               License (>=v2). Read the file COPYING that comes with GRASS
00015 *               for details.
00016 *
00017 *****************************************************************************/
00018 
00019 #ifndef _N_HEATFLOW_H_
00020 #define _N_HEATFLOW_H_
00021 #include "N_pde.h"
00022 
00023 typedef struct
00024 {
00025     N_array_3d *t;              /*temperature */
00026     N_array_3d *t_start;        /*temperature start conditions */
00027     N_array_3d *gamma_x;        /*x part of the gamma tensor */
00028     N_array_3d *gamma_y;        /*y part of the gamma tensor */
00029     N_array_3d *gamma_z;        /*z part of the gamma tensor */
00030     N_array_3d *q;              /*sources and sinks */
00031     N_array_3d *rho;            /*density */
00032     N_array_3d *c;              /*c */
00033 
00034     N_array_3d *status;         /*active/inactive/dirichlet cell status */
00035 
00036     double dt;                  /*calculation time */
00037 
00038 } N_heatflow_data3d;
00039 
00040 typedef struct
00041 {
00042     N_array_2d *t;              /*temperature */
00043     N_array_2d *t_start;        /*temperature start conditions */
00044     N_array_2d *gamma_x;        /*x part of the gamma tensor */
00045     N_array_2d *gamma_y;        /*y part of the gamma tensor */
00046     N_array_2d *q;              /*sources and sinks */
00047     N_array_2d *rho;            /*density */
00048     N_array_2d *c;              /*c */
00049 
00050     N_array_2d *status;         /*active/inactive/dirichlet cell status */
00051 
00052     double dt;                  /*calculation time */
00053 
00054 } N_heatflow_data2d;
00055 
00056 extern N_les_row_entries *N_callback_heatflow_3d(void *heatdata,
00057                                                  N_geom_data * geom,
00058                                                  int depth, int row, int col);
00059 extern N_les_row_entries *N_callback_heatflow_2d(void *heatdata,
00060                                                  N_geom_data * geom, int row,
00061                                                  int col);
00062 extern N_heatflow_data3d *N_alloc_heatflow_data3d(int depths, int rows,
00063                                                   int cols);
00064 extern N_heatflow_data2d *N_alloc_heatflow_data2d(int rows, int cols);
00065 extern void N_free_heatflow_data3d(N_heatflow_data3d * data);
00066 extern void N_free_heatflow_data2d(N_heatflow_data2d * data);
00067 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines