Tagged files with gromacs 3.0 header and added some license info
[alexxy/gromacs.git] / src / contrib / ion_data.h
1 /*
2  * $Id$
3  * 
4  *                This source code is part of
5  * 
6  *                 G   R   O   M   A   C   S
7  * 
8  *          GROningen MAchine for Chemical Simulations
9  * 
10  *                        VERSION 3.0
11  * 
12  * Copyright (c) 1991-2001
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * This program is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU General Public License
18  * as published by the Free Software Foundation; either version 2
19  * of the License, or (at your option) any later version.
20  * 
21  * If you want to redistribute modifications, please consider that
22  * scientific software is very special. Version control is crucial -
23  * bugs must be traceable. We will be happy to consider code for
24  * inclusion in the official distribution, but derived work must not
25  * be called official GROMACS. Details are found in the README & COPYING
26  * files - if they are missing, get the official version at www.gromacs.org.
27  * 
28  * To help us fund GROMACS development, we humbly ask that you cite
29  * the papers on the package - you can find them in the top README file.
30  * 
31  * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
32  * 
33  * And Hey:
34  * Gromacs Runs On Most of All Computer Systems
35  */
36 static char *SRCID_ion_data_h = "$Id$";
37         
38 typedef struct {
39   real photo,coh,incoh,incoh_abs;
40 } t_cross;
41
42 /* THIS TABLE HAS ADDED A 12 keV COLUMN TO HYDROGEN, CARBON,  */ 
43 /* OXYGEN, NITROGEN AND SULPHUR BY FITTING A QUADRATIC TO THE */
44 /* POINTS 8keV, 10keV and 12keV - now contains 6, 8, 10, 12,  */ 
45 /* 15 and 20 keV                                              */
46 /* Units are barn. They are converted to nm^2 by multiplying  */
47 /* by 1e-10, which is done in Imax (ionize.c)                 */
48
49 static t_cross   cross_sec_h[] = {
50   { 2.63e-2,     1.01e-1,      5.49e-1,         7.12e-3 },
51   { 9.79e-3,     6.18e-2,      5.83e-1,         9.60e-3 },
52   { 4.55e-3,     4.16e-2,      5.99e-1,         1.19e-2 },
53   { 1.52e-3,     2.79e-2,      6.08e-1,         1.41e-2 },
54   { 1.12e-3,     1.96e-2,      6.09e-1,         1.73e-2 },
55   { 4.16e-4,     1.13e-2,      6.07e-1,         2.23e-2 }
56 };
57 static t_cross   cross_sec_c[] = {
58   { 1.99e+2,     5.88e+0,      2.29e+0,         3.06e-2 },
59   { 8.01e+1,     4.22e+0,      2.56e+0,         4.38e-2 },
60   { 3.92e+1,     3.26e+0,      2.74e+0,         5.72e-2 },
61   { 2.19e+1,     2.55e+0,      2.88e+0,         7.07e-2 },
62   { 1.06e+1,     1.97e+0,      3.04e+0,         9.15e-2 },
63   { 4.15e+0,     1.30e+0,      3.20e+0,         1.24e-1 }
64 };
65 static t_cross   cross_sec_n[] = {
66   { 3.91e+2,     8.99e+0,      2.49e+0,         3.43e-2 },
67   { 1.59e+2,     6.29e+0,      2.86e+0,         5.01e-2 },
68   { 7.88e+1,     4.76e+0,      3.10e+0,         6.57e-2 },
69   { 4.42e+1,     3.66e+0,      3.28e+0,         8.13e-2 },
70   { 2.16e+1,     2.82e+0,      3.46e+0,         1.05e-1 },
71   { 8.52e+0,     1.88e+0,      3.65e+0,         1.43e-1 }
72 };
73 static t_cross   cross_sec_o[] = {
74   { 6.90e+2,     1.33e+1,      2.66e+0,         3.75e-2 },
75   { 2.84e+2,     9.21e+0,      3.14e+0,         5.62e-2 },
76   { 1.42e+2,     6.85e+0,      3.44e+0,         7.43e-2 },
77   { 8.01e+1,     5.18e+0,      3.66e+0,         9.20e-2 },
78   { 3.95e+1,     3.97e+0,      3.87e+0,         1.18e-1 },
79   { 1.57e+1,     2.64e+0,      4.10e+0,         1.61e-1 }
80 };
81 static t_cross   cross_sec_s[] = {
82   { 1.10e+4,      5.54e+1,     3.98e+0,         5.42e-2 },
83   { 4.91e+3,      4.29e+1,     4.71e+0,         8.38e-2 },
84   { 2.58e+3,      3.36e+1,     5.32e+0,         1.16e-1 },
85   { 1.52e+3,      2.64e+1,     5.81e+0,         1.48e-1 },
86   { 7.82e+2,      1.97e+1,     6.36e+0,         2.00e-1 },
87   { 3.29e+2,      1.29e+1,     6.94e+0,         2.80e-1 }
88 };
89
90 typedef struct {
91   char *name;
92   int  nel;
93   t_cross *cross;
94 } t_element;
95
96 static t_element element[] = {
97   { "H",   1, cross_sec_h },
98   { "C",   6, cross_sec_c },
99   { "N",   7, cross_sec_n },
100   { "O",   8, cross_sec_o },
101   { "S",  16, cross_sec_s },
102   { "AR", 20, cross_sec_s },  /* This is not correct! */
103   { "EL",  1, cross_sec_h }   /* This is not correct! */
104 };
105 #define NELEM asize(element)
106
107 /* 
108  * In the first column the binding energy of the K-electrons; 
109  * THIS IS IN eV,  which matches the photon energies. 
110  * In the second column the binding energy of the outer shell electrons
111  * The third column describes the photoelectric cross sections, 
112  * where this now gives the fraction of photoelectric events 
113  * which correspond to K-shell events, I called f_j in my 
114  * notes:
115  * The final column (a new column) now gives the values for the lifetimes
116  * in ps. 
117  */
118 typedef struct {
119   real E_K,E_L,Prob_K,tau;
120 } t_recoil;
121
122 t_recoil recoil[] = {
123   { 0.0,    0.0,   0.0,   0},                
124   { 0.0136, 0.0,   0.0,   0},
125   { 0.0246, 0.0,   0.0,   0},
126   { 0.055,  0.005, 0.960, 0.012},
127   { 0.117,  0.009, 0.956, 0.012},
128   { 0.192,  0.008, 0.952, 0.012}, 
129   { 0.284,  0.011, 0.950, 0.0113},
130   { 0.402,  0.015, 0.950, 0.0083},
131   { 0.532,  0.014, 0.936, 0.0066},
132   { 0.687,  0.017, 0.928, 0.0045},
133   { 0.874,  0.031, 0.922, 0.0033},
134   { 1.072,  0.041, 0.933, 0.0028},
135   { 1.305,  0.054, 0.927, 0.0022},
136   { 1.560,  0.077, 0.922, 0.0019},
137   { 1.839,  0.105, 0.918, 0.00165},
138   { 2.146,  0.133, 0.921, 0.00145},
139   { 2.472,  0.166, 0.908, 0.00130},
140   { 2.822,  0.212, 0.902, 0.0012},
141   { 3.203,  0.247, 0.902, 0.0010},
142   { 3.607,  0.298, 0.894, 0.00095},
143   { 4.038,  0.348, 0.890, 0.00085},
144   { 4.490,  0.404, 0.886, 0.00078},
145   { 4.966,  0.458, 0.882, 0.00073},
146   { 5.465,  0.516, 0.885, 0.00062},
147   { 5.989,  0.578, 0.883, 0.00055},
148   { 6.539,  0.645, 0.880, 0.00049},
149   { 7.112,  0.713, 0.877, 0.00044}
150 };
151
152
153
154
155