Rev 15264 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
15262 | georgesk | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4 | |||
5 | slib_author=Georges, Khaznadar |
||
6 | slib_license=GPL |
||
7 | slib_title=Data about nucleides, or LaTeX typesetting |
||
8 | |||
9 | slib_example=H\ |
||
10 | 17\ |
||
11 | 6\ |
||
12 | H, tex 13, +\ |
||
13 | 6, tex\ |
||
14 | 6, tex 13\ |
||
15 | Pu, tex\ |
||
16 | Pu, tex 239 |
||
17 | !exit |
||
18 | |||
19 | :proc |
||
20 | slib_data=$wims_read_parm |
||
21 | nb_data = !itemcnt $slib_data |
||
22 | |||
23 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
||
24 | !! cette table des nucleides a été extraite du service |
||
25 | !! web http://nucleardata.nuclear.lu.se/toi/listnuc.asp?sql= |
||
26 | !! le 7 juillet 2020, et retraitée à l'aide d'un programme |
||
15264 | georgesk | 27 | !! en Python. Les éléments de 110 (Ds) à 118 (Og) ont été |
15265 | georgesk | 28 | !! repris de la page https://iupac.org/what-we-do/periodic-table-of-elements/ |
15262 | georgesk | 29 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
30 | slib_nucleides=1, H, 1, 99.985, 2, 0.015\ |
||
31 | 2, He, 3, 0.000137, 4, 99.999863\ |
||
32 | 3, Li, 6, 7.5, 7, 92.5\ |
||
33 | 4, Be, 9, 100.0\ |
||
34 | 5, B, 10, 19.9, 11, 80.1\ |
||
35 | 6, C, 12, 98.9, 13, 1.1\ |
||
36 | 7, N, 14, 99.634, 15, 0.366\ |
||
37 | 8, O, 16, 99.762, 17, 0.038, 18, 0.2\ |
||
38 | 9, F, 19, 100.0\ |
||
39 | 10, Ne, 20, 90.48, 21, 0.27, 22, 9.25\ |
||
40 | 11, Na, 23, 100.0\ |
||
41 | 12, Mg, 24, 78.99, 25, 10.0, 26, 11.01\ |
||
42 | 13, Al, 27, 100.0\ |
||
43 | 14, Si, 28, 92.23, 29, 4.67, 30, 3.1\ |
||
44 | 15, P, 31, 100.0\ |
||
45 | 16, S, 32, 95.02, 33, 0.75, 34, 4.21, 36, 0.02\ |
||
46 | 17, Cl, 35, 75.77, 37, 24.23\ |
||
47 | 18, Ar, 36, 0.337, 38, 0.063, 40, 99.6\ |
||
48 | 19, K, 39, 93.2581, 40, 0.0117, 41, 6.7302\ |
||
49 | 20, Ca, 40, 96.941, 42, 0.647, 43, 0.135, 44, 2.086, 46, 0.004, 48, 0.187\ |
||
50 | 21, Sc, 45, 100.0\ |
||
51 | 22, Ti, 46, 8.0, 47, 7.3, 48, 73.8, 49, 5.5, 50, 5.4\ |
||
52 | 23, V, 50, 0.25, 51, 99.75\ |
||
53 | 24, Cr, 50, 4.345, 52, 83.789, 53, 9.501, 54, 2.365\ |
||
54 | 25, Mn, 55, 100.0\ |
||
55 | 26, Fe, 54, 5.8, 56, 91.72, 57, 2.2, 58, 0.28\ |
||
56 | 27, Co, 59, 100.0\ |
||
57 | 28, Ni, 58, 68.077, 60, 26.223, 61, 1.14, 62, 3.634, 64, 0.926\ |
||
58 | 29, Cu, 63, 69.17, 65, 30.83\ |
||
59 | 30, Zn, 64, 48.6, 66, 27.9, 67, 4.1, 68, 18.8, 70, 0.6\ |
||
60 | 31, Ga, 69, 60.108, 71, 39.892\ |
||
61 | 32, Ge, 70, 21.23, 72, 27.66, 73, 7.73, 74, 35.94, 76, 7.44\ |
||
62 | 33, As, 75, 100.0\ |
||
63 | 34, Se, 74, 0.89, 76, 9.36, 77, 7.63, 78, 23.78, 80, 49.61, 82, 8.73\ |
||
64 | 35, Br, 79, 50.69, 81, 49.31\ |
||
65 | 36, Kr, 78, 0.35, 80, 2.25, 82, 11.6, 83, 11.5, 84, 57.0, 86, 17.3\ |
||
66 | 37, Rb, 85, 72.165, 87, 27.835\ |
||
67 | 38, Sr, 84, 0.56, 86, 9.86, 87, 7.0, 88, 82.58\ |
||
68 | 39, Y, 89, 100.0\ |
||
69 | 40, Zr, 90, 51.45, 91, 11.22, 92, 17.15, 94, 17.38, 96, 2.8\ |
||
70 | 41, Nb, 93, 100.0\ |
||
71 | 42, Mo, 92, 14.84, 94, 9.25, 95, 15.92, 96, 16.68, 97, 9.55, 98, 24.13, 100, 9.63\ |
||
72 | 43, Tc\ |
||
73 | 44, Ru, 96, 5.52, 98, 1.88, 99, 12.7, 100, 12.6, 101, 17.0, 102, 31.6, 104, 18.7\ |
||
74 | 45, Rh, 103, 100.0\ |
||
75 | 46, Pd, 102, 1.02, 104, 11.14, 105, 22.33, 106, 27.33, 108, 26.46, 110, 11.72\ |
||
76 | 47, Ag, 107, 51.839, 109, 48.161\ |
||
77 | 48, Cd, 106, 1.25, 108, 0.89, 110, 12.49, 111, 12.8, 112, 24.13, 113, 12.22, 114, 28.73, 116, 7.49\ |
||
78 | 49, In, 113, 4.3, 115, 95.7\ |
||
79 | 50, Sn, 112, 0.97, 114, 0.65, 115, 0.34, 116, 14.53, 117, 7.68, 118, 24.23, 119, 8.59, 120, 32.59, 122, 4.63, 124, 5.79\ |
||
80 | 51, Sb, 121, 57.36, 123, 42.64\ |
||
81 | 52, Te, 120, 0.096, 122, 2.603, 123, 0.908, 124, 4.816, 125, 7.139, 126, 18.95, 128, 31.69, 130, 33.8\ |
||
82 | 53, I, 127, 100.0\ |
||
83 | 54, Xe, 124, 0.1, 126, 0.09, 128, 1.91, 129, 26.4, 130, 4.1, 131, 21.2, 132, 26.9, 134, 10.4, 136, 8.9\ |
||
84 | 55, Cs, 133, 100.0\ |
||
85 | 56, Ba, 130, 0.106, 132, 0.101, 134, 2.417, 135, 6.592, 136, 7.854, 137, 11.23, 138, 71.7\ |
||
86 | 57, La, 138, 0.0902, 139, 99.9098\ |
||
87 | 58, Ce, 136, 0.19, 138, 0.25, 140, 88.48, 142, 11.08\ |
||
88 | 59, Pr, 141, 100.0\ |
||
89 | 60, Nd, 142, 27.13, 143, 12.18, 144, 23.8, 145, 8.3, 146, 17.19, 148, 5.76, 150, 5.64\ |
||
90 | 61, Pm\ |
||
91 | 62, Sm, 144, 3.1, 147, 15.0, 148, 11.3, 149, 13.8, 150, 7.4, 152, 26.7, 154, 22.7\ |
||
92 | 63, Eu, 151, 47.8, 153, 52.2\ |
||
93 | 64, Gd, 152, 0.2, 154, 2.18, 155, 14.8, 156, 20.47, 157, 15.65, 158, 24.84, 160, 21.86\ |
||
94 | 65, Tb, 159, 100.0\ |
||
95 | 66, Dy, 156, 0.06, 158, 0.1, 160, 2.34, 161, 18.9, 162, 25.5, 163, 24.9, 164, 28.2\ |
||
96 | 67, Ho, 165, 100.0\ |
||
97 | 68, Er, 162, 0.14, 164, 1.61, 166, 33.6, 167, 22.95, 168, 26.8, 170, 14.9\ |
||
98 | 69, Tm, 169, 100.0\ |
||
99 | 70, Yb, 168, 0.13, 170, 3.05, 171, 14.3, 172, 21.9, 173, 16.12, 174, 31.8, 176, 12.7\ |
||
100 | 71, Lu, 175, 97.41, 176, 2.59\ |
||
101 | 72, Hf, 174, 0.162, 176, 5.206, 177, 18.606, 178, 27.297, 179, 13.629, 180, 35.1\ |
||
102 | 73, Ta, 180, 0.012, 181, 99.988\ |
||
103 | 74, W, 180, 0.13, 182, 26.3, 183, 14.3, 184, 30.67, 186, 28.6\ |
||
104 | 75, Re, 185, 37.4, 187, 62.6\ |
||
105 | 76, Os, 184, 0.02, 186, 1.58, 187, 1.6, 188, 13.3, 189, 16.1, 190, 26.4, 192, 41.0\ |
||
106 | 77, Ir, 191, 37.3, 193, 62.7\ |
||
107 | 78, Pt, 190, 0.01, 192, 0.79, 194, 32.9, 195, 33.8, 196, 25.3, 198, 7.2\ |
||
108 | 79, Au, 197, 100.0\ |
||
109 | 80, Hg, 196, 0.15, 198, 9.97, 199, 16.87, 200, 23.1, 201, 13.18, 202, 29.86, 204, 6.87\ |
||
110 | 81, Tl, 203, 29.524, 205, 70.476\ |
||
111 | 82, Pb, 204, 1.4, 206, 24.1, 207, 22.1, 208, 52.4\ |
||
112 | 83, Bi, 209, 100.0\ |
||
113 | 84, Po\ |
||
114 | 85, At\ |
||
115 | 86, Rn\ |
||
116 | 87, Fr\ |
||
117 | 88, Ra\ |
||
118 | 89, Ac\ |
||
119 | 90, Th, 232, 100.0\ |
||
120 | 91, Pa\ |
||
121 | 92, U, 235, 0.72, 238, 99.2745\ |
||
122 | 93, Np\ |
||
123 | 94, Pu\ |
||
124 | 95, Am\ |
||
125 | 96, Cm\ |
||
126 | 97, Bk\ |
||
127 | 98, Cf\ |
||
128 | 99, Es\ |
||
129 | 100, Fm\ |
||
130 | 101, Md\ |
||
131 | 102, No\ |
||
132 | 103, Lr\ |
||
133 | 104, Rf\ |
||
134 | 105, Db\ |
||
135 | 106, Sg\ |
||
136 | 107, Bh\ |
||
137 | 108, Hs\ |
||
15264 | georgesk | 138 | 109, Mt\ |
139 | 110, Ds\ |
||
140 | 111, Rg\ |
||
141 | 112, Cn\ |
||
142 | 113, Nh\ |
||
143 | 114, Fl\ |
||
144 | 115, Mc\ |
||
145 | 116, Lv\ |
||
146 | 117, Ts\ |
||
147 | 118, Og |
||
15262 | georgesk | 148 | |
149 | nb_elements = !linecnt $slib_nucleides |
||
150 | la_ligne = ?? |
||
151 | cle = !item 1 of $slib_data |
||
152 | cle1 = !char 1 of $cle |
||
153 | !if $cle1 isin 123456789 |
||
154 | !! c'est un nombre, à chercher en première position |
||
155 | index=1 |
||
156 | !else |
||
157 | !! c'est un symbole, à chercher en deuxième position |
||
158 | index=2 |
||
159 | !endif |
||
160 | la_ligne=erreur : symbole inconnu |
||
161 | !for i=1 to $nb_elements |
||
162 | l = !line $i of $slib_nucleides |
||
163 | val = !item $index of $l |
||
164 | !if $val = $cle |
||
165 | la_ligne = $l |
||
166 | !endif |
||
167 | !next |
||
168 | |||
169 | n_ligne = !itemcnt $la_ligne |
||
170 | n_stables = !eval ($n_ligne / 2) -1 |
||
171 | |||
172 | # on construit les données pour lélément dans la variable |
||
173 | # elt_data : Z, symbole [; A, abondance]... |
||
174 | |||
175 | elt_data = !items 1,2 of $la_ligne |
||
176 | !if $n_stables > 0 |
||
177 | !for i=1 to $n_stables |
||
178 | i1 = !eval 2 * $i + 1 |
||
179 | i2 = !eval $i1+1 |
||
180 | les_items = !items $i1,$i2 of $la_ligne |
||
181 | elt_data = $elt_data; $les_items |
||
182 | !next |
||
183 | !endif |
||
184 | |||
185 | !if $nb_data < 2 |
||
186 | slib_out = $elt_data |
||
187 | !goto end |
||
188 | !endif |
||
189 | |||
190 | !! à ce stade, il y a au moins un deuxième paramètre |
||
191 | param2 = !item 2 of $slib_data |
||
192 | param3 = !item 3 of $slib_data |
||
193 | !if tex isin $param2 |
||
194 | !! un traduction en chaîne tex est demandée |
||
195 | !! on regarde si un isotope particulier est requis |
||
196 | A = !replace tex by in $param2 |
||
197 | !if $A issametext |
||
198 | !! c'est le cas où il n'y a pas de demande d'isotope particulier |
||
199 | !if $n_ligne > 2 |
||
200 | !! il y a au moins un isotope stable, on prend celui-là |
||
201 | A = !item 3 of $la_ligne |
||
202 | !else |
||
203 | !! il n'y a pas d'isotope stable, on n'indique pas A |
||
204 | A = |
||
205 | !endif |
||
206 | !endif |
||
207 | Z = !item 1 of $la_ligne |
||
208 | symbole = !item 2 of $la_ligne |
||
209 | !readproc slib/chemistry/leftind $A, $Z, $symbole, $param3 |
||
210 | !goto end |
||
211 | !endif |
||
212 | |||
213 | :end |
||
214 | slib_out = $slib_out |