Streamer fluid modeling - An overview of ARCoS  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
reaction.h
Go to the documentation of this file.
1 
4 #ifndef _REACTION_H_
5 #include "react_table.h"
6 
7 typedef struct reaction_t reaction_t;
8 
9 /* Maximum number of reactants that can enter into a reaction. */
10 #define REACTION_MAX_IN 4
11 #define REACTION_MAX_OUT 6
12 
13 struct reaction_t {
14  /* Photoionization is an special reaction where all the other parameters
15  * are ignored. Be careful to put photoionization in the correct position
16  * of the reaction list.
17  */
18  int is_photo;
19 
20  /* Number of species in and out. */
21  int nin, nout;
22 
25 
26  const char *inname[REACTION_MAX_IN];
27  const char *outname[REACTION_MAX_OUT];
28 
29 
30  void (*f) (double *in, int nin, double *out, int nout, double k, double dens, react_table *rt);
31 
32  /* For reactions where k(E) is given by a reaction table. Such reactions
33  * require 'f' to be f_react_table. 'k' is ignored for these reactions.
34  * 'rt' is initialized with 'NULL', while 'tablefile' contains the filename
35  * with the reaction table.
36  *
37  * This file is read in react_add().
38  */
40 
41  char *tablefile;
42 
43  double k;
44 
45  /* This allows us to define many simultaneous reactions. */
47 };
48 
50 extern reaction_t *reaction_index[];
51 
52 #define _REACTION_H_
53 #endif