1!
2! CDDL HEADER START
3!
4! The contents of this file are subject to the terms of the Common Development
5! and Distribution License Version 1.0 (the "License").
6!
7! You can obtain a copy of the license at
8! http://www.opensource.org/licenses/CDDL-1.0.  See the License for the
9! specific language governing permissions and limitations under the License.
10!
11! When distributing Covered Code, include this CDDL HEADER in each file and
12! include the License file in a prominent location with the name LICENSE.CDDL.
13! If applicable, add the following below this CDDL HEADER, with the fields
14! enclosed by brackets "[]" replaced with your own identifying information:
15!
16! Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
17!
18! CDDL HEADER END
19!
20
21!
22! Copyright (c) 2016--2020, Regents of the University of Minnesota.
23! All rights reserved.
24!
25! Contributors:
26!    Ryan S. Elliott
27!
28
29!
30! Release: This file is part of the kim-api-2.2.1 package.
31!
32
33!> \brief \copybrief KIM::SpeciesName
34!!
35!! \sa KIM::SpeciesName, KIM_SpeciesName
36!!
37!! \since 2.0
38module kim_species_name_module
39  use, intrinsic :: iso_c_binding
40  implicit none
41  private
42
43  public &
44    ! Derived types
45    kim_species_name_type, &
46    ! Constants
47    KIM_SPECIES_NAME_ELECTRON, &
48    KIM_SPECIES_NAME_H, &
49    KIM_SPECIES_NAME_HE, &
50    KIM_SPECIES_NAME_LI, &
51    KIM_SPECIES_NAME_BE, &
52    KIM_SPECIES_NAME_B, &
53    KIM_SPECIES_NAME_C, &
54    KIM_SPECIES_NAME_N, &
55    KIM_SPECIES_NAME_O, &
56    KIM_SPECIES_NAME_F, &
57    KIM_SPECIES_NAME_NE, &
58    KIM_SPECIES_NAME_NA, &
59    KIM_SPECIES_NAME_MG, &
60    KIM_SPECIES_NAME_AL, &
61    KIM_SPECIES_NAME_SI, &
62    KIM_SPECIES_NAME_P, &
63    KIM_SPECIES_NAME_S, &
64    KIM_SPECIES_NAME_CL, &
65    KIM_SPECIES_NAME_AR, &
66    KIM_SPECIES_NAME_K, &
67    KIM_SPECIES_NAME_CA, &
68    KIM_SPECIES_NAME_SC, &
69    KIM_SPECIES_NAME_TI, &
70    KIM_SPECIES_NAME_V, &
71    KIM_SPECIES_NAME_CR, &
72    KIM_SPECIES_NAME_MN, &
73    KIM_SPECIES_NAME_FE, &
74    KIM_SPECIES_NAME_CO, &
75    KIM_SPECIES_NAME_NI, &
76    KIM_SPECIES_NAME_CU, &
77    KIM_SPECIES_NAME_ZN, &
78    KIM_SPECIES_NAME_GA, &
79    KIM_SPECIES_NAME_GE, &
80    KIM_SPECIES_NAME_AS, &
81    KIM_SPECIES_NAME_SE, &
82    KIM_SPECIES_NAME_BR, &
83    KIM_SPECIES_NAME_KR, &
84    KIM_SPECIES_NAME_RB, &
85    KIM_SPECIES_NAME_SR, &
86    KIM_SPECIES_NAME_Y, &
87    KIM_SPECIES_NAME_ZR, &
88    KIM_SPECIES_NAME_NB, &
89    KIM_SPECIES_NAME_MO, &
90    KIM_SPECIES_NAME_TC, &
91    KIM_SPECIES_NAME_RU, &
92    KIM_SPECIES_NAME_RH, &
93    KIM_SPECIES_NAME_PD, &
94    KIM_SPECIES_NAME_AG, &
95    KIM_SPECIES_NAME_CD, &
96    KIM_SPECIES_NAME_IN, &
97    KIM_SPECIES_NAME_SN, &
98    KIM_SPECIES_NAME_SB, &
99    KIM_SPECIES_NAME_TE, &
100    KIM_SPECIES_NAME_I, &
101    KIM_SPECIES_NAME_XE, &
102    KIM_SPECIES_NAME_CS, &
103    KIM_SPECIES_NAME_BA, &
104    KIM_SPECIES_NAME_LA, &
105    KIM_SPECIES_NAME_CE, &
106    KIM_SPECIES_NAME_PR, &
107    KIM_SPECIES_NAME_ND, &
108    KIM_SPECIES_NAME_PM, &
109    KIM_SPECIES_NAME_SM, &
110    KIM_SPECIES_NAME_EU, &
111    KIM_SPECIES_NAME_GD, &
112    KIM_SPECIES_NAME_TB, &
113    KIM_SPECIES_NAME_DY, &
114    KIM_SPECIES_NAME_HO, &
115    KIM_SPECIES_NAME_ER, &
116    KIM_SPECIES_NAME_TM, &
117    KIM_SPECIES_NAME_YB, &
118    KIM_SPECIES_NAME_LU, &
119    KIM_SPECIES_NAME_HF, &
120    KIM_SPECIES_NAME_TA, &
121    KIM_SPECIES_NAME_W, &
122    KIM_SPECIES_NAME_RE, &
123    KIM_SPECIES_NAME_OS, &
124    KIM_SPECIES_NAME_IR, &
125    KIM_SPECIES_NAME_PT, &
126    KIM_SPECIES_NAME_AU, &
127    KIM_SPECIES_NAME_HG, &
128    KIM_SPECIES_NAME_TL, &
129    KIM_SPECIES_NAME_PB, &
130    KIM_SPECIES_NAME_BI, &
131    KIM_SPECIES_NAME_PO, &
132    KIM_SPECIES_NAME_AT, &
133    KIM_SPECIES_NAME_RN, &
134    KIM_SPECIES_NAME_FR, &
135    KIM_SPECIES_NAME_RA, &
136    KIM_SPECIES_NAME_AC, &
137    KIM_SPECIES_NAME_TH, &
138    KIM_SPECIES_NAME_PA, &
139    KIM_SPECIES_NAME_U, &
140    KIM_SPECIES_NAME_NP, &
141    KIM_SPECIES_NAME_PU, &
142    KIM_SPECIES_NAME_AM, &
143    KIM_SPECIES_NAME_CM, &
144    KIM_SPECIES_NAME_BK, &
145    KIM_SPECIES_NAME_CF, &
146    KIM_SPECIES_NAME_ES, &
147    KIM_SPECIES_NAME_FM, &
148    KIM_SPECIES_NAME_MD, &
149    KIM_SPECIES_NAME_NO, &
150    KIM_SPECIES_NAME_LR, &
151    KIM_SPECIES_NAME_RF, &
152    KIM_SPECIES_NAME_DB, &
153    KIM_SPECIES_NAME_SG, &
154    KIM_SPECIES_NAME_BH, &
155    KIM_SPECIES_NAME_HS, &
156    KIM_SPECIES_NAME_MT, &
157    KIM_SPECIES_NAME_DS, &
158    KIM_SPECIES_NAME_RG, &
159    KIM_SPECIES_NAME_CN, &
160    KIM_SPECIES_NAME_NH, &
161    KIM_SPECIES_NAME_FL, &
162    KIM_SPECIES_NAME_MC, &
163    KIM_SPECIES_NAME_LV, &
164    KIM_SPECIES_NAME_TS, &
165    KIM_SPECIES_NAME_OG, &
166    KIM_SPECIES_NAME_USER01, &
167    KIM_SPECIES_NAME_USER02, &
168    KIM_SPECIES_NAME_USER03, &
169    KIM_SPECIES_NAME_USER04, &
170    KIM_SPECIES_NAME_USER05, &
171    KIM_SPECIES_NAME_USER06, &
172    KIM_SPECIES_NAME_USER07, &
173    KIM_SPECIES_NAME_USER08, &
174    KIM_SPECIES_NAME_USER09, &
175    KIM_SPECIES_NAME_USER10, &
176    KIM_SPECIES_NAME_USER11, &
177    KIM_SPECIES_NAME_USER12, &
178    KIM_SPECIES_NAME_USER13, &
179    KIM_SPECIES_NAME_USER14, &
180    KIM_SPECIES_NAME_USER15, &
181    KIM_SPECIES_NAME_USER16, &
182    KIM_SPECIES_NAME_USER17, &
183    KIM_SPECIES_NAME_USER18, &
184    KIM_SPECIES_NAME_USER19, &
185    KIM_SPECIES_NAME_USER20, &
186    ! Routines
187    kim_known, &
188    operator(.eq.), &
189    operator(.ne.), &
190    kim_from_string, &
191    kim_to_string, &
192    kim_get_number_of_species_names, &
193    kim_get_species_name
194
195  !> \brief \copybrief KIM::SpeciesName
196  !!
197  !! \sa KIM::SpeciesName, KIM_SpeciesName
198  !!
199  !! \since 2.0
200  type, bind(c) :: kim_species_name_type
201    integer(c_int) species_name_id
202  end type kim_species_name_type
203
204  !> \brief \copybrief KIM::SPECIES_NAME::electron
205  !!
206  !! \sa KIM::SPECIES_NAME::electron, KIM_SPECIES_NAME_electron
207  !!
208  !! \since 2.0
209  type(kim_species_name_type), protected, save, &
210    bind(c, name="KIM_SPECIES_NAME_electron") &
211    :: KIM_SPECIES_NAME_ELECTRON
212
213  !> \brief \copybrief KIM::SPECIES_NAME::H
214  !!
215  !! \sa KIM::SPECIES_NAME::H, KIM_SPECIES_NAME_H
216  !!
217  !! \since 2.0
218  type(kim_species_name_type), protected, save, &
219    bind(c, name="KIM_SPECIES_NAME_H") &
220    :: KIM_SPECIES_NAME_H
221
222  !> \brief \copybrief KIM::SPECIES_NAME::He
223  !!
224  !! \sa KIM::SPECIES_NAME::He, KIM_SPECIES_NAME_He
225  !!
226  !! \since 2.0
227  type(kim_species_name_type), protected, save, &
228    bind(c, name="KIM_SPECIES_NAME_He") &
229    :: KIM_SPECIES_NAME_HE
230
231  !> \brief \copybrief KIM::SPECIES_NAME::Li
232  !!
233  !! \sa KIM::SPECIES_NAME::Li, KIM_SPECIES_NAME_Li
234  !!
235  !! \since 2.0
236  type(kim_species_name_type), protected, save, &
237    bind(c, name="KIM_SPECIES_NAME_Li") &
238    :: KIM_SPECIES_NAME_LI
239
240  !> \brief \copybrief KIM::SPECIES_NAME::Be
241  !!
242  !! \sa KIM::SPECIES_NAME::Be, KIM_SPECIES_NAME_Be
243  !!
244  !! \since 2.0
245  type(kim_species_name_type), protected, save, &
246    bind(c, name="KIM_SPECIES_NAME_Be") &
247    :: KIM_SPECIES_NAME_BE
248
249  !> \brief \copybrief KIM::SPECIES_NAME::B
250  !!
251  !! \sa KIM::SPECIES_NAME::B, KIM_SPECIES_NAME_B
252  !!
253  !! \since 2.0
254  type(kim_species_name_type), protected, save, &
255    bind(c, name="KIM_SPECIES_NAME_B") &
256    :: KIM_SPECIES_NAME_B
257
258  !> \brief \copybrief KIM::SPECIES_NAME::C
259  !!
260  !! \sa KIM::SPECIES_NAME::C, KIM_SPECIES_NAME_C
261  !!
262  !! \since 2.0
263  type(kim_species_name_type), protected, save, &
264    bind(c, name="KIM_SPECIES_NAME_C") &
265    :: KIM_SPECIES_NAME_C
266
267  !> \brief \copybrief KIM::SPECIES_NAME::N
268  !!
269  !! \sa KIM::SPECIES_NAME::N, KIM_SPECIES_NAME_N
270  !!
271  !! \since 2.0
272  type(kim_species_name_type), protected, save, &
273    bind(c, name="KIM_SPECIES_NAME_N") &
274    :: KIM_SPECIES_NAME_N
275
276  !> \brief \copybrief KIM::SPECIES_NAME::O
277  !!
278  !! \sa KIM::SPECIES_NAME::O, KIM_SPECIES_NAME_O
279  !!
280  !! \since 2.0
281  type(kim_species_name_type), protected, save, &
282    bind(c, name="KIM_SPECIES_NAME_O") &
283    :: KIM_SPECIES_NAME_O
284
285  !> \brief \copybrief KIM::SPECIES_NAME::F
286  !!
287  !! \sa KIM::SPECIES_NAME::F, KIM_SPECIES_NAME_F
288  !!
289  !! \since 2.0
290  type(kim_species_name_type), protected, save, &
291    bind(c, name="KIM_SPECIES_NAME_F") &
292    :: KIM_SPECIES_NAME_F
293
294  !> \brief \copybrief KIM::SPECIES_NAME::Ne
295  !!
296  !! \sa KIM::SPECIES_NAME::Ne, KIM_SPECIES_NAME_Ne
297  !!
298  !! \since 2.0
299  type(kim_species_name_type), protected, save, &
300    bind(c, name="KIM_SPECIES_NAME_Ne") &
301    :: KIM_SPECIES_NAME_NE
302
303  !> \brief \copybrief KIM::SPECIES_NAME::Na
304  !!
305  !! \sa KIM::SPECIES_NAME::Na, KIM_SPECIES_NAME_Na
306  !!
307  !! \since 2.0
308  type(kim_species_name_type), protected, save, &
309    bind(c, name="KIM_SPECIES_NAME_Na") &
310    :: KIM_SPECIES_NAME_NA
311
312  !> \brief \copybrief KIM::SPECIES_NAME::Mg
313  !!
314  !! \sa KIM::SPECIES_NAME::Mg, KIM_SPECIES_NAME_Mg
315  !!
316  !! \since 2.0
317  type(kim_species_name_type), protected, save, &
318    bind(c, name="KIM_SPECIES_NAME_Mg") &
319    :: KIM_SPECIES_NAME_MG
320
321  !> \brief \copybrief KIM::SPECIES_NAME::Al
322  !!
323  !! \sa KIM::SPECIES_NAME::Al, KIM_SPECIES_NAME_Al
324  !!
325  !! \since 2.0
326  type(kim_species_name_type), protected, save, &
327    bind(c, name="KIM_SPECIES_NAME_Al") &
328    :: KIM_SPECIES_NAME_AL
329
330  !> \brief \copybrief KIM::SPECIES_NAME::Si
331  !!
332  !! \sa KIM::SPECIES_NAME::Si, KIM_SPECIES_NAME_Si
333  !!
334  !! \since 2.0
335  type(kim_species_name_type), protected, save, &
336    bind(c, name="KIM_SPECIES_NAME_Si") &
337    :: KIM_SPECIES_NAME_SI
338
339  !> \brief \copybrief KIM::SPECIES_NAME::P
340  !!
341  !! \sa KIM::SPECIES_NAME::P, KIM_SPECIES_NAME_P
342  !!
343  !! \since 2.0
344  type(kim_species_name_type), protected, save, &
345    bind(c, name="KIM_SPECIES_NAME_P") &
346    :: KIM_SPECIES_NAME_P
347
348  !> \brief \copybrief KIM::SPECIES_NAME::S
349  !!
350  !! \sa KIM::SPECIES_NAME::S, KIM_SPECIES_NAME_S
351  !!
352  !! \since 2.0
353  type(kim_species_name_type), protected, save, &
354    bind(c, name="KIM_SPECIES_NAME_S") &
355    :: KIM_SPECIES_NAME_S
356
357  !> \brief \copybrief KIM::SPECIES_NAME::Cl
358  !!
359  !! \sa KIM::SPECIES_NAME::Cl, KIM_SPECIES_NAME_Cl
360  !!
361  !! \since 2.0
362  type(kim_species_name_type), protected, save, &
363    bind(c, name="KIM_SPECIES_NAME_Cl") &
364    :: KIM_SPECIES_NAME_CL
365
366  !> \brief \copybrief KIM::SPECIES_NAME::Ar
367  !!
368  !! \sa KIM::SPECIES_NAME::Ar, KIM_SPECIES_NAME_Ar
369  !!
370  !! \since 2.0
371  type(kim_species_name_type), protected, save, &
372    bind(c, name="KIM_SPECIES_NAME_Ar") &
373    :: KIM_SPECIES_NAME_AR
374
375  !> \brief \copybrief KIM::SPECIES_NAME::K
376  !!
377  !! \sa KIM::SPECIES_NAME::K, KIM_SPECIES_NAME_K
378  !!
379  !! \since 2.0
380  type(kim_species_name_type), protected, save, &
381    bind(c, name="KIM_SPECIES_NAME_K") &
382    :: KIM_SPECIES_NAME_K
383
384  !> \brief \copybrief KIM::SPECIES_NAME::Ca
385  !!
386  !! \sa KIM::SPECIES_NAME::Ca, KIM_SPECIES_NAME_Ca
387  !!
388  !! \since 2.0
389  type(kim_species_name_type), protected, save, &
390    bind(c, name="KIM_SPECIES_NAME_Ca") &
391    :: KIM_SPECIES_NAME_CA
392
393  !> \brief \copybrief KIM::SPECIES_NAME::Sc
394  !!
395  !! \sa KIM::SPECIES_NAME::Sc, KIM_SPECIES_NAME_Sc
396  !!
397  !! \since 2.0
398  type(kim_species_name_type), protected, save, &
399    bind(c, name="KIM_SPECIES_NAME_Sc") &
400    :: KIM_SPECIES_NAME_SC
401
402  !> \brief \copybrief KIM::SPECIES_NAME::Ti
403  !!
404  !! \sa KIM::SPECIES_NAME::Ti, KIM_SPECIES_NAME_Ti
405  !!
406  !! \since 2.0
407  type(kim_species_name_type), protected, save, &
408    bind(c, name="KIM_SPECIES_NAME_Ti") &
409    :: KIM_SPECIES_NAME_TI
410
411  !> \brief \copybrief KIM::SPECIES_NAME::V
412  !!
413  !! \sa KIM::SPECIES_NAME::V, KIM_SPECIES_NAME_V
414  !!
415  !! \since 2.0
416  type(kim_species_name_type), protected, save, &
417    bind(c, name="KIM_SPECIES_NAME_V") &
418    :: KIM_SPECIES_NAME_V
419
420  !> \brief \copybrief KIM::SPECIES_NAME::Cr
421  !!
422  !! \sa KIM::SPECIES_NAME::Cr, KIM_SPECIES_NAME_Cr
423  !!
424  !! \since 2.0
425  type(kim_species_name_type), protected, save, &
426    bind(c, name="KIM_SPECIES_NAME_Cr") &
427    :: KIM_SPECIES_NAME_CR
428
429  !> \brief \copybrief KIM::SPECIES_NAME::Mn
430  !!
431  !! \sa KIM::SPECIES_NAME::Mn, KIM_SPECIES_NAME_Mn
432  !!
433  !! \since 2.0
434  type(kim_species_name_type), protected, save, &
435    bind(c, name="KIM_SPECIES_NAME_Mn") &
436    :: KIM_SPECIES_NAME_MN
437
438  !> \brief \copybrief KIM::SPECIES_NAME::Fe
439  !!
440  !! \sa KIM::SPECIES_NAME::Fe, KIM_SPECIES_NAME_Fe
441  !!
442  !! \since 2.0
443  type(kim_species_name_type), protected, save, &
444    bind(c, name="KIM_SPECIES_NAME_Fe") &
445    :: KIM_SPECIES_NAME_FE
446
447  !> \brief \copybrief KIM::SPECIES_NAME::Co
448  !!
449  !! \sa KIM::SPECIES_NAME::Co, KIM_SPECIES_NAME_Co
450  !!
451  !! \since 2.0
452  type(kim_species_name_type), protected, save, &
453    bind(c, name="KIM_SPECIES_NAME_Co") &
454    :: KIM_SPECIES_NAME_CO
455
456  !> \brief \copybrief KIM::SPECIES_NAME::Ni
457  !!
458  !! \sa KIM::SPECIES_NAME::Ni, KIM_SPECIES_NAME_Ni
459  !!
460  !! \since 2.0
461  type(kim_species_name_type), protected, save, &
462    bind(c, name="KIM_SPECIES_NAME_Ni") &
463    :: KIM_SPECIES_NAME_NI
464
465  !> \brief \copybrief KIM::SPECIES_NAME::Cu
466  !!
467  !! \sa KIM::SPECIES_NAME::Cu, KIM_SPECIES_NAME_Cu
468  !!
469  !! \since 2.0
470  type(kim_species_name_type), protected, save, &
471    bind(c, name="KIM_SPECIES_NAME_Cu") &
472    :: KIM_SPECIES_NAME_CU
473
474  !> \brief \copybrief KIM::SPECIES_NAME::Zn
475  !!
476  !! \sa KIM::SPECIES_NAME::Zn, KIM_SPECIES_NAME_Zn
477  !!
478  !! \since 2.0
479  type(kim_species_name_type), protected, save, &
480    bind(c, name="KIM_SPECIES_NAME_Zn") &
481    :: KIM_SPECIES_NAME_ZN
482
483  !> \brief \copybrief KIM::SPECIES_NAME::Ga
484  !!
485  !! \sa KIM::SPECIES_NAME::Ga, KIM_SPECIES_NAME_Ga
486  !!
487  !! \since 2.0
488  type(kim_species_name_type), protected, save, &
489    bind(c, name="KIM_SPECIES_NAME_Ga") &
490    :: KIM_SPECIES_NAME_GA
491
492  !> \brief \copybrief KIM::SPECIES_NAME::Ge
493  !!
494  !! \sa KIM::SPECIES_NAME::Ge, KIM_SPECIES_NAME_Ge
495  !!
496  !! \since 2.0
497  type(kim_species_name_type), protected, save, &
498    bind(c, name="KIM_SPECIES_NAME_Ge") &
499    :: KIM_SPECIES_NAME_GE
500
501  !> \brief \copybrief KIM::SPECIES_NAME::As
502  !!
503  !! \sa KIM::SPECIES_NAME::As, KIM_SPECIES_NAME_As
504  !!
505  !! \since 2.0
506  type(kim_species_name_type), protected, save, &
507    bind(c, name="KIM_SPECIES_NAME_As") &
508    :: KIM_SPECIES_NAME_AS
509
510  !> \brief \copybrief KIM::SPECIES_NAME::Se
511  !!
512  !! \sa KIM::SPECIES_NAME::Se, KIM_SPECIES_NAME_Se
513  !!
514  !! \since 2.0
515  type(kim_species_name_type), protected, save, &
516    bind(c, name="KIM_SPECIES_NAME_Se") &
517    :: KIM_SPECIES_NAME_SE
518
519  !> \brief \copybrief KIM::SPECIES_NAME::Br
520  !!
521  !! \sa KIM::SPECIES_NAME::Br, KIM_SPECIES_NAME_Br
522  !!
523  !! \since 2.0
524  type(kim_species_name_type), protected, save, &
525    bind(c, name="KIM_SPECIES_NAME_Br") &
526    :: KIM_SPECIES_NAME_BR
527
528  !> \brief \copybrief KIM::SPECIES_NAME::Kr
529  !!
530  !! \sa KIM::SPECIES_NAME::Kr, KIM_SPECIES_NAME_Kr
531  !!
532  !! \since 2.0
533  type(kim_species_name_type), protected, save, &
534    bind(c, name="KIM_SPECIES_NAME_Kr") &
535    :: KIM_SPECIES_NAME_KR
536
537  !> \brief \copybrief KIM::SPECIES_NAME::Rb
538  !!
539  !! \sa KIM::SPECIES_NAME::Rb, KIM_SPECIES_NAME_Rb
540  !!
541  !! \since 2.0
542  type(kim_species_name_type), protected, save, &
543    bind(c, name="KIM_SPECIES_NAME_Rb") &
544    :: KIM_SPECIES_NAME_RB
545
546  !> \brief \copybrief KIM::SPECIES_NAME::Sr
547  !!
548  !! \sa KIM::SPECIES_NAME::Sr, KIM_SPECIES_NAME_Sr
549  !!
550  !! \since 2.0
551  type(kim_species_name_type), protected, save, &
552    bind(c, name="KIM_SPECIES_NAME_Sr") &
553    :: KIM_SPECIES_NAME_SR
554
555  !> \brief \copybrief KIM::SPECIES_NAME::Y
556  !!
557  !! \sa KIM::SPECIES_NAME::Y, KIM_SPECIES_NAME_Y
558  !!
559  !! \since 2.0
560  type(kim_species_name_type), protected, save, &
561    bind(c, name="KIM_SPECIES_NAME_Y") &
562    :: KIM_SPECIES_NAME_Y
563
564  !> \brief \copybrief KIM::SPECIES_NAME::Zr
565  !!
566  !! \sa KIM::SPECIES_NAME::Zr, KIM_SPECIES_NAME_Zr
567  !!
568  !! \since 2.0
569  type(kim_species_name_type), protected, save, &
570    bind(c, name="KIM_SPECIES_NAME_Zr") &
571    :: KIM_SPECIES_NAME_ZR
572
573  !> \brief \copybrief KIM::SPECIES_NAME::Nb
574  !!
575  !! \sa KIM::SPECIES_NAME::Nb, KIM_SPECIES_NAME_Nb
576  !!
577  !! \since 2.0
578  type(kim_species_name_type), protected, save, &
579    bind(c, name="KIM_SPECIES_NAME_Nb") &
580    :: KIM_SPECIES_NAME_NB
581
582  !> \brief \copybrief KIM::SPECIES_NAME::Mo
583  !!
584  !! \sa KIM::SPECIES_NAME::Mo, KIM_SPECIES_NAME_Mo
585  !!
586  !! \since 2.0
587  type(kim_species_name_type), protected, save, &
588    bind(c, name="KIM_SPECIES_NAME_Mo") &
589    :: KIM_SPECIES_NAME_MO
590
591  !> \brief \copybrief KIM::SPECIES_NAME::Tc
592  !!
593  !! \sa KIM::SPECIES_NAME::Tc, KIM_SPECIES_NAME_Tc
594  !!
595  !! \since 2.0
596  type(kim_species_name_type), protected, save, &
597    bind(c, name="KIM_SPECIES_NAME_Tc") &
598    :: KIM_SPECIES_NAME_TC
599
600  !> \brief \copybrief KIM::SPECIES_NAME::Ru
601  !!
602  !! \sa KIM::SPECIES_NAME::Ru, KIM_SPECIES_NAME_Ru
603  !!
604  !! \since 2.0
605  type(kim_species_name_type), protected, save, &
606    bind(c, name="KIM_SPECIES_NAME_Ru") &
607    :: KIM_SPECIES_NAME_RU
608
609  !> \brief \copybrief KIM::SPECIES_NAME::Rh
610  !!
611  !! \sa KIM::SPECIES_NAME::Rh, KIM_SPECIES_NAME_Rh
612  !!
613  !! \since 2.0
614  type(kim_species_name_type), protected, save, &
615    bind(c, name="KIM_SPECIES_NAME_Rh") &
616    :: KIM_SPECIES_NAME_RH
617
618  !> \brief \copybrief KIM::SPECIES_NAME::Pd
619  !!
620  !! \sa KIM::SPECIES_NAME::Pd, KIM_SPECIES_NAME_Pd
621  !!
622  !! \since 2.0
623  type(kim_species_name_type), protected, save, &
624    bind(c, name="KIM_SPECIES_NAME_Pd") &
625    :: KIM_SPECIES_NAME_PD
626
627  !> \brief \copybrief KIM::SPECIES_NAME::Ag
628  !!
629  !! \sa KIM::SPECIES_NAME::Ag, KIM_SPECIES_NAME_Ag
630  !!
631  !! \since 2.0
632  type(kim_species_name_type), protected, save, &
633    bind(c, name="KIM_SPECIES_NAME_Ag") &
634    :: KIM_SPECIES_NAME_AG
635
636  !> \brief \copybrief KIM::SPECIES_NAME::Cd
637  !!
638  !! \sa KIM::SPECIES_NAME::Cd, KIM_SPECIES_NAME_Cd
639  !!
640  !! \since 2.0
641  type(kim_species_name_type), protected, save, &
642    bind(c, name="KIM_SPECIES_NAME_Cd") &
643    :: KIM_SPECIES_NAME_CD
644
645  !> \brief \copybrief KIM::SPECIES_NAME::In
646  !!
647  !! \sa KIM::SPECIES_NAME::In, KIM_SPECIES_NAME_In
648  !!
649  !! \since 2.0
650  type(kim_species_name_type), protected, save, &
651    bind(c, name="KIM_SPECIES_NAME_In") &
652    :: KIM_SPECIES_NAME_IN
653
654  !> \brief \copybrief KIM::SPECIES_NAME::Sn
655  !!
656  !! \sa KIM::SPECIES_NAME::Sn, KIM_SPECIES_NAME_Sn
657  !!
658  !! \since 2.0
659  type(kim_species_name_type), protected, save, &
660    bind(c, name="KIM_SPECIES_NAME_Sn") &
661    :: KIM_SPECIES_NAME_SN
662
663  !> \brief \copybrief KIM::SPECIES_NAME::Sb
664  !!
665  !! \sa KIM::SPECIES_NAME::Sb, KIM_SPECIES_NAME_Sb
666  !!
667  !! \since 2.0
668  type(kim_species_name_type), protected, save, &
669    bind(c, name="KIM_SPECIES_NAME_Sb") &
670    :: KIM_SPECIES_NAME_SB
671
672  !> \brief \copybrief KIM::SPECIES_NAME::Te
673  !!
674  !! \sa KIM::SPECIES_NAME::Te, KIM_SPECIES_NAME_Te
675  !!
676  !! \since 2.0
677  type(kim_species_name_type), protected, save, &
678    bind(c, name="KIM_SPECIES_NAME_Te") &
679    :: KIM_SPECIES_NAME_TE
680
681  !> \brief \copybrief KIM::SPECIES_NAME::I
682  !!
683  !! \sa KIM::SPECIES_NAME::I, KIM_SPECIES_NAME_I
684  !!
685  !! \since 2.0
686  type(kim_species_name_type), protected, save, &
687    bind(c, name="KIM_SPECIES_NAME_I") &
688    :: KIM_SPECIES_NAME_I
689
690  !> \brief \copybrief KIM::SPECIES_NAME::Xe
691  !!
692  !! \sa KIM::SPECIES_NAME::Xe, KIM_SPECIES_NAME_Xe
693  !!
694  !! \since 2.0
695  type(kim_species_name_type), protected, save, &
696    bind(c, name="KIM_SPECIES_NAME_Xe") &
697    :: KIM_SPECIES_NAME_XE
698
699  !> \brief \copybrief KIM::SPECIES_NAME::Cs
700  !!
701  !! \sa KIM::SPECIES_NAME::Cs, KIM_SPECIES_NAME_Cs
702  !!
703  !! \since 2.0
704  type(kim_species_name_type), protected, save, &
705    bind(c, name="KIM_SPECIES_NAME_Cs") &
706    :: KIM_SPECIES_NAME_CS
707
708  !> \brief \copybrief KIM::SPECIES_NAME::Ba
709  !!
710  !! \sa KIM::SPECIES_NAME::Ba, KIM_SPECIES_NAME_Ba
711  !!
712  !! \since 2.0
713  type(kim_species_name_type), protected, save, &
714    bind(c, name="KIM_SPECIES_NAME_Ba") &
715    :: KIM_SPECIES_NAME_BA
716
717  !> \brief \copybrief KIM::SPECIES_NAME::La
718  !!
719  !! \sa KIM::SPECIES_NAME::La, KIM_SPECIES_NAME_La
720  !!
721  !! \since 2.0
722  type(kim_species_name_type), protected, save, &
723    bind(c, name="KIM_SPECIES_NAME_La") &
724    :: KIM_SPECIES_NAME_LA
725
726  !> \brief \copybrief KIM::SPECIES_NAME::Ce
727  !!
728  !! \sa KIM::SPECIES_NAME::Ce, KIM_SPECIES_NAME_Ce
729  !!
730  !! \since 2.0
731  type(kim_species_name_type), protected, save, &
732    bind(c, name="KIM_SPECIES_NAME_Ce") &
733    :: KIM_SPECIES_NAME_CE
734
735  !> \brief \copybrief KIM::SPECIES_NAME::Pr
736  !!
737  !! \sa KIM::SPECIES_NAME::Pr, KIM_SPECIES_NAME_Pr
738  !!
739  !! \since 2.0
740  type(kim_species_name_type), protected, save, &
741    bind(c, name="KIM_SPECIES_NAME_Pr") &
742    :: KIM_SPECIES_NAME_PR
743
744  !> \brief \copybrief KIM::SPECIES_NAME::Nd
745  !!
746  !! \sa KIM::SPECIES_NAME::Nd, KIM_SPECIES_NAME_Nd
747  !!
748  !! \since 2.0
749  type(kim_species_name_type), protected, save, &
750    bind(c, name="KIM_SPECIES_NAME_Nd") &
751    :: KIM_SPECIES_NAME_ND
752
753  !> \brief \copybrief KIM::SPECIES_NAME::Pm
754  !!
755  !! \sa KIM::SPECIES_NAME::Pm, KIM_SPECIES_NAME_Pm
756  !!
757  !! \since 2.0
758  type(kim_species_name_type), protected, save, &
759    bind(c, name="KIM_SPECIES_NAME_Pm") &
760    :: KIM_SPECIES_NAME_PM
761
762  !> \brief \copybrief KIM::SPECIES_NAME::Sm
763  !!
764  !! \sa KIM::SPECIES_NAME::Sm, KIM_SPECIES_NAME_Sm
765  !!
766  !! \since 2.0
767  type(kim_species_name_type), protected, save, &
768    bind(c, name="KIM_SPECIES_NAME_Sm") &
769    :: KIM_SPECIES_NAME_SM
770
771  !> \brief \copybrief KIM::SPECIES_NAME::Eu
772  !!
773  !! \sa KIM::SPECIES_NAME::Eu, KIM_SPECIES_NAME_Eu
774  !!
775  !! \since 2.0
776  type(kim_species_name_type), protected, save, &
777    bind(c, name="KIM_SPECIES_NAME_Eu") &
778    :: KIM_SPECIES_NAME_EU
779
780  !> \brief \copybrief KIM::SPECIES_NAME::Gd
781  !!
782  !! \sa KIM::SPECIES_NAME::Gd, KIM_SPECIES_NAME_Gd
783  !!
784  !! \since 2.0
785  type(kim_species_name_type), protected, save, &
786    bind(c, name="KIM_SPECIES_NAME_Gd") &
787    :: KIM_SPECIES_NAME_GD
788
789  !> \brief \copybrief KIM::SPECIES_NAME::Tb
790  !!
791  !! \sa KIM::SPECIES_NAME::Tb, KIM_SPECIES_NAME_Tb
792  !!
793  !! \since 2.0
794  type(kim_species_name_type), protected, save, &
795    bind(c, name="KIM_SPECIES_NAME_Tb") &
796    :: KIM_SPECIES_NAME_TB
797
798  !> \brief \copybrief KIM::SPECIES_NAME::Dy
799  !!
800  !! \sa KIM::SPECIES_NAME::Dy, KIM_SPECIES_NAME_Dy
801  !!
802  !! \since 2.0
803  type(kim_species_name_type), protected, save, &
804    bind(c, name="KIM_SPECIES_NAME_Dy") &
805    :: KIM_SPECIES_NAME_DY
806
807  !> \brief \copybrief KIM::SPECIES_NAME::Ho
808  !!
809  !! \sa KIM::SPECIES_NAME::Ho, KIM_SPECIES_NAME_Ho
810  !!
811  !! \since 2.0
812  type(kim_species_name_type), protected, save, &
813    bind(c, name="KIM_SPECIES_NAME_Ho") &
814    :: KIM_SPECIES_NAME_HO
815
816  !> \brief \copybrief KIM::SPECIES_NAME::Er
817  !!
818  !! \sa KIM::SPECIES_NAME::Er, KIM_SPECIES_NAME_Er
819  !!
820  !! \since 2.0
821  type(kim_species_name_type), protected, save, &
822    bind(c, name="KIM_SPECIES_NAME_Er") &
823    :: KIM_SPECIES_NAME_ER
824
825  !> \brief \copybrief KIM::SPECIES_NAME::Tm
826  !!
827  !! \sa KIM::SPECIES_NAME::Tm, KIM_SPECIES_NAME_Tm
828  !!
829  !! \since 2.0
830  type(kim_species_name_type), protected, save, &
831    bind(c, name="KIM_SPECIES_NAME_Tm") &
832    :: KIM_SPECIES_NAME_TM
833
834  !> \brief \copybrief KIM::SPECIES_NAME::Yb
835  !!
836  !! \sa KIM::SPECIES_NAME::Yb, KIM_SPECIES_NAME_Yb
837  !!
838  !! \since 2.0
839  type(kim_species_name_type), protected, save, &
840    bind(c, name="KIM_SPECIES_NAME_Yb") &
841    :: KIM_SPECIES_NAME_YB
842
843  !> \brief \copybrief KIM::SPECIES_NAME::Lu
844  !!
845  !! \sa KIM::SPECIES_NAME::Lu, KIM_SPECIES_NAME_Lu
846  !!
847  !! \since 2.0
848  type(kim_species_name_type), protected, save, &
849    bind(c, name="KIM_SPECIES_NAME_Lu") &
850    :: KIM_SPECIES_NAME_LU
851
852  !> \brief \copybrief KIM::SPECIES_NAME::Hf
853  !!
854  !! \sa KIM::SPECIES_NAME::Hf, KIM_SPECIES_NAME_Hf
855  !!
856  !! \since 2.0
857  type(kim_species_name_type), protected, save, &
858    bind(c, name="KIM_SPECIES_NAME_Hf") &
859    :: KIM_SPECIES_NAME_HF
860
861  !> \brief \copybrief KIM::SPECIES_NAME::Ta
862  !!
863  !! \sa KIM::SPECIES_NAME::Ta, KIM_SPECIES_NAME_Ta
864  !!
865  !! \since 2.0
866  type(kim_species_name_type), protected, save, &
867    bind(c, name="KIM_SPECIES_NAME_Ta") &
868    :: KIM_SPECIES_NAME_TA
869
870  !> \brief \copybrief KIM::SPECIES_NAME::W
871  !!
872  !! \sa KIM::SPECIES_NAME::W, KIM_SPECIES_NAME_W
873  !!
874  !! \since 2.0
875  type(kim_species_name_type), protected, save, &
876    bind(c, name="KIM_SPECIES_NAME_W") &
877    :: KIM_SPECIES_NAME_W
878
879  !> \brief \copybrief KIM::SPECIES_NAME::Re
880  !!
881  !! \sa KIM::SPECIES_NAME::Re, KIM_SPECIES_NAME_Re
882  !!
883  !! \since 2.0
884  type(kim_species_name_type), protected, save, &
885    bind(c, name="KIM_SPECIES_NAME_Re") &
886    :: KIM_SPECIES_NAME_RE
887
888  !> \brief \copybrief KIM::SPECIES_NAME::Os
889  !!
890  !! \sa KIM::SPECIES_NAME::Os, KIM_SPECIES_NAME_Os
891  !!
892  !! \since 2.0
893  type(kim_species_name_type), protected, save, &
894    bind(c, name="KIM_SPECIES_NAME_Os") &
895    :: KIM_SPECIES_NAME_OS
896
897  !> \brief \copybrief KIM::SPECIES_NAME::Ir
898  !!
899  !! \sa KIM::SPECIES_NAME::Ir, KIM_SPECIES_NAME_Ir
900  !!
901  !! \since 2.0
902  type(kim_species_name_type), protected, save, &
903    bind(c, name="KIM_SPECIES_NAME_Ir") &
904    :: KIM_SPECIES_NAME_IR
905
906  !> \brief \copybrief KIM::SPECIES_NAME::Pt
907  !!
908  !! \sa KIM::SPECIES_NAME::Pt, KIM_SPECIES_NAME_Pt
909  !!
910  !! \since 2.0
911  type(kim_species_name_type), protected, save, &
912    bind(c, name="KIM_SPECIES_NAME_Pt") &
913    :: KIM_SPECIES_NAME_PT
914
915  !> \brief \copybrief KIM::SPECIES_NAME::Au
916  !!
917  !! \sa KIM::SPECIES_NAME::Au, KIM_SPECIES_NAME_Au
918  !!
919  !! \since 2.0
920  type(kim_species_name_type), protected, save, &
921    bind(c, name="KIM_SPECIES_NAME_Au") &
922    :: KIM_SPECIES_NAME_AU
923
924  !> \brief \copybrief KIM::SPECIES_NAME::Hg
925  !!
926  !! \sa KIM::SPECIES_NAME::Hg, KIM_SPECIES_NAME_Hg
927  !!
928  !! \since 2.0
929  type(kim_species_name_type), protected, save, &
930    bind(c, name="KIM_SPECIES_NAME_Hg") &
931    :: KIM_SPECIES_NAME_HG
932
933  !> \brief \copybrief KIM::SPECIES_NAME::Tl
934  !!
935  !! \sa KIM::SPECIES_NAME::Tl, KIM_SPECIES_NAME_Tl
936  !!
937  !! \since 2.0
938  type(kim_species_name_type), protected, save, &
939    bind(c, name="KIM_SPECIES_NAME_Tl") &
940    :: KIM_SPECIES_NAME_TL
941
942  !> \brief \copybrief KIM::SPECIES_NAME::Pb
943  !!
944  !! \sa KIM::SPECIES_NAME::Pb, KIM_SPECIES_NAME_Pb
945  !!
946  !! \since 2.0
947  type(kim_species_name_type), protected, save, &
948    bind(c, name="KIM_SPECIES_NAME_Pb") &
949    :: KIM_SPECIES_NAME_PB
950
951  !> \brief \copybrief KIM::SPECIES_NAME::Bi
952  !!
953  !! \sa KIM::SPECIES_NAME::Bi, KIM_SPECIES_NAME_Bi
954  !!
955  !! \since 2.0
956  type(kim_species_name_type), protected, save, &
957    bind(c, name="KIM_SPECIES_NAME_Bi") &
958    :: KIM_SPECIES_NAME_BI
959
960  !> \brief \copybrief KIM::SPECIES_NAME::Po
961  !!
962  !! \sa KIM::SPECIES_NAME::Po, KIM_SPECIES_NAME_Po
963  !!
964  !! \since 2.0
965  type(kim_species_name_type), protected, save, &
966    bind(c, name="KIM_SPECIES_NAME_Po") &
967    :: KIM_SPECIES_NAME_PO
968
969  !> \brief \copybrief KIM::SPECIES_NAME::At
970  !!
971  !! \sa KIM::SPECIES_NAME::At, KIM_SPECIES_NAME_At
972  !!
973  !! \since 2.0
974  type(kim_species_name_type), protected, save, &
975    bind(c, name="KIM_SPECIES_NAME_At") &
976    :: KIM_SPECIES_NAME_AT
977
978  !> \brief \copybrief KIM::SPECIES_NAME::Rn
979  !!
980  !! \sa KIM::SPECIES_NAME::Rn, KIM_SPECIES_NAME_Rn
981  !!
982  !! \since 2.0
983  type(kim_species_name_type), protected, save, &
984    bind(c, name="KIM_SPECIES_NAME_Rn") &
985    :: KIM_SPECIES_NAME_RN
986
987  !> \brief \copybrief KIM::SPECIES_NAME::Fr
988  !!
989  !! \sa KIM::SPECIES_NAME::Fr, KIM_SPECIES_NAME_Fr
990  !!
991  !! \since 2.0
992  type(kim_species_name_type), protected, save, &
993    bind(c, name="KIM_SPECIES_NAME_Fr") &
994    :: KIM_SPECIES_NAME_FR
995
996  !> \brief \copybrief KIM::SPECIES_NAME::Ra
997  !!
998  !! \sa KIM::SPECIES_NAME::Ra, KIM_SPECIES_NAME_Ra
999  !!
1000  !! \since 2.0
1001  type(kim_species_name_type), protected, save, &
1002    bind(c, name="KIM_SPECIES_NAME_Ra") &
1003    :: KIM_SPECIES_NAME_RA
1004
1005  !> \brief \copybrief KIM::SPECIES_NAME::Ac
1006  !!
1007  !! \sa KIM::SPECIES_NAME::Ac, KIM_SPECIES_NAME_Ac
1008  !!
1009  !! \since 2.0
1010  type(kim_species_name_type), protected, save, &
1011    bind(c, name="KIM_SPECIES_NAME_Ac") &
1012    :: KIM_SPECIES_NAME_AC
1013
1014  !> \brief \copybrief KIM::SPECIES_NAME::Th
1015  !!
1016  !! \sa KIM::SPECIES_NAME::Th, KIM_SPECIES_NAME_Th
1017  !!
1018  !! \since 2.0
1019  type(kim_species_name_type), protected, save, &
1020    bind(c, name="KIM_SPECIES_NAME_Th") &
1021    :: KIM_SPECIES_NAME_TH
1022
1023  !> \brief \copybrief KIM::SPECIES_NAME::Pa
1024  !!
1025  !! \sa KIM::SPECIES_NAME::Pa, KIM_SPECIES_NAME_Pa
1026  !!
1027  !! \since 2.0
1028  type(kim_species_name_type), protected, save, &
1029    bind(c, name="KIM_SPECIES_NAME_Pa") &
1030    :: KIM_SPECIES_NAME_PA
1031
1032  !> \brief \copybrief KIM::SPECIES_NAME::U
1033  !!
1034  !! \sa KIM::SPECIES_NAME::U, KIM_SPECIES_NAME_U
1035  !!
1036  !! \since 2.0
1037  type(kim_species_name_type), protected, save, &
1038    bind(c, name="KIM_SPECIES_NAME_U") &
1039    :: KIM_SPECIES_NAME_U
1040
1041  !> \brief \copybrief KIM::SPECIES_NAME::Np
1042  !!
1043  !! \sa KIM::SPECIES_NAME::Np, KIM_SPECIES_NAME_Np
1044  !!
1045  !! \since 2.0
1046  type(kim_species_name_type), protected, save, &
1047    bind(c, name="KIM_SPECIES_NAME_Np") &
1048    :: KIM_SPECIES_NAME_NP
1049
1050  !> \brief \copybrief KIM::SPECIES_NAME::Pu
1051  !!
1052  !! \sa KIM::SPECIES_NAME::Pu, KIM_SPECIES_NAME_Pu
1053  !!
1054  !! \since 2.0
1055  type(kim_species_name_type), protected, save, &
1056    bind(c, name="KIM_SPECIES_NAME_Pu") &
1057    :: KIM_SPECIES_NAME_PU
1058
1059  !> \brief \copybrief KIM::SPECIES_NAME::Am
1060  !!
1061  !! \sa KIM::SPECIES_NAME::Am, KIM_SPECIES_NAME_Am
1062  !!
1063  !! \since 2.0
1064  type(kim_species_name_type), protected, save, &
1065    bind(c, name="KIM_SPECIES_NAME_Am") &
1066    :: KIM_SPECIES_NAME_AM
1067
1068  !> \brief \copybrief KIM::SPECIES_NAME::Cm
1069  !!
1070  !! \sa KIM::SPECIES_NAME::Cm, KIM_SPECIES_NAME_Cm
1071  !!
1072  !! \since 2.0
1073  type(kim_species_name_type), protected, save, &
1074    bind(c, name="KIM_SPECIES_NAME_Cm") &
1075    :: KIM_SPECIES_NAME_CM
1076
1077  !> \brief \copybrief KIM::SPECIES_NAME::Bk
1078  !!
1079  !! \sa KIM::SPECIES_NAME::Bk, KIM_SPECIES_NAME_Bk
1080  !!
1081  !! \since 2.0
1082  type(kim_species_name_type), protected, save, &
1083    bind(c, name="KIM_SPECIES_NAME_Bk") &
1084    :: KIM_SPECIES_NAME_BK
1085
1086  !> \brief \copybrief KIM::SPECIES_NAME::Cf
1087  !!
1088  !! \sa KIM::SPECIES_NAME::Cf, KIM_SPECIES_NAME_Cf
1089  !!
1090  !! \since 2.0
1091  type(kim_species_name_type), protected, save, &
1092    bind(c, name="KIM_SPECIES_NAME_Cf") &
1093    :: KIM_SPECIES_NAME_CF
1094
1095  !> \brief \copybrief KIM::SPECIES_NAME::Es
1096  !!
1097  !! \sa KIM::SPECIES_NAME::Es, KIM_SPECIES_NAME_Es
1098  !!
1099  !! \since 2.0
1100  type(kim_species_name_type), protected, save, &
1101    bind(c, name="KIM_SPECIES_NAME_Es") &
1102    :: KIM_SPECIES_NAME_ES
1103
1104  !> \brief \copybrief KIM::SPECIES_NAME::Fm
1105  !!
1106  !! \sa KIM::SPECIES_NAME::Fm, KIM_SPECIES_NAME_Fm
1107  !!
1108  !! \since 2.0
1109  type(kim_species_name_type), protected, save, &
1110    bind(c, name="KIM_SPECIES_NAME_Fm") &
1111    :: KIM_SPECIES_NAME_FM
1112
1113  !> \brief \copybrief KIM::SPECIES_NAME::Md
1114  !!
1115  !! \sa KIM::SPECIES_NAME::Md, KIM_SPECIES_NAME_Md
1116  !!
1117  !! \since 2.0
1118  type(kim_species_name_type), protected, save, &
1119    bind(c, name="KIM_SPECIES_NAME_Md") &
1120    :: KIM_SPECIES_NAME_MD
1121
1122  !> \brief \copybrief KIM::SPECIES_NAME::No
1123  !!
1124  !! \sa KIM::SPECIES_NAME::No, KIM_SPECIES_NAME_No
1125  !!
1126  !! \since 2.0
1127  type(kim_species_name_type), protected, save, &
1128    bind(c, name="KIM_SPECIES_NAME_No") &
1129    :: KIM_SPECIES_NAME_NO
1130
1131  !> \brief \copybrief KIM::SPECIES_NAME::Lr
1132  !!
1133  !! \sa KIM::SPECIES_NAME::Lr, KIM_SPECIES_NAME_Lr
1134  !!
1135  !! \since 2.0
1136  type(kim_species_name_type), protected, save, &
1137    bind(c, name="KIM_SPECIES_NAME_Lr") &
1138    :: KIM_SPECIES_NAME_LR
1139
1140  !> \brief \copybrief KIM::SPECIES_NAME::Rf
1141  !!
1142  !! \sa KIM::SPECIES_NAME::Rf, KIM_SPECIES_NAME_Rf
1143  !!
1144  !! \since 2.0
1145  type(kim_species_name_type), protected, save, &
1146    bind(c, name="KIM_SPECIES_NAME_Rf") &
1147    :: KIM_SPECIES_NAME_RF
1148
1149  !> \brief \copybrief KIM::SPECIES_NAME::Db
1150  !!
1151  !! \sa KIM::SPECIES_NAME::Db, KIM_SPECIES_NAME_Db
1152  !!
1153  !! \since 2.0
1154  type(kim_species_name_type), protected, save, &
1155    bind(c, name="KIM_SPECIES_NAME_Db") &
1156    :: KIM_SPECIES_NAME_DB
1157
1158  !> \brief \copybrief KIM::SPECIES_NAME::Sg
1159  !!
1160  !! \sa KIM::SPECIES_NAME::Sg, KIM_SPECIES_NAME_Sg
1161  !!
1162  !! \since 2.0
1163  type(kim_species_name_type), protected, save, &
1164    bind(c, name="KIM_SPECIES_NAME_Sg") &
1165    :: KIM_SPECIES_NAME_SG
1166
1167  !> \brief \copybrief KIM::SPECIES_NAME::Bh
1168  !!
1169  !! \sa KIM::SPECIES_NAME::Bh, KIM_SPECIES_NAME_Bh
1170  !!
1171  !! \since 2.0
1172  type(kim_species_name_type), protected, save, &
1173    bind(c, name="KIM_SPECIES_NAME_Bh") &
1174    :: KIM_SPECIES_NAME_BH
1175
1176  !> \brief \copybrief KIM::SPECIES_NAME::Hs
1177  !!
1178  !! \sa KIM::SPECIES_NAME::Hs, KIM_SPECIES_NAME_Hs
1179  !!
1180  !! \since 2.0
1181  type(kim_species_name_type), protected, save, &
1182    bind(c, name="KIM_SPECIES_NAME_Hs") &
1183    :: KIM_SPECIES_NAME_HS
1184
1185  !> \brief \copybrief KIM::SPECIES_NAME::Mt
1186  !!
1187  !! \sa KIM::SPECIES_NAME::Mt, KIM_SPECIES_NAME_Mt
1188  !!
1189  !! \since 2.0
1190  type(kim_species_name_type), protected, save, &
1191    bind(c, name="KIM_SPECIES_NAME_Mt") &
1192    :: KIM_SPECIES_NAME_MT
1193
1194  !> \brief \copybrief KIM::SPECIES_NAME::Ds
1195  !!
1196  !! \sa KIM::SPECIES_NAME::Ds, KIM_SPECIES_NAME_Ds
1197  !!
1198  !! \since 2.0
1199  type(kim_species_name_type), protected, save, &
1200    bind(c, name="KIM_SPECIES_NAME_Ds") &
1201    :: KIM_SPECIES_NAME_DS
1202
1203  !> \brief \copybrief KIM::SPECIES_NAME::Rg
1204  !!
1205  !! \sa KIM::SPECIES_NAME::Rg, KIM_SPECIES_NAME_Rg
1206  !!
1207  !! \since 2.0
1208  type(kim_species_name_type), protected, save, &
1209    bind(c, name="KIM_SPECIES_NAME_Rg") &
1210    :: KIM_SPECIES_NAME_RG
1211
1212  !> \brief \copybrief KIM::SPECIES_NAME::Cn
1213  !!
1214  !! \sa KIM::SPECIES_NAME::Cn, KIM_SPECIES_NAME_Cn
1215  !!
1216  !! \since 2.0
1217  type(kim_species_name_type), protected, save, &
1218    bind(c, name="KIM_SPECIES_NAME_Cn") &
1219    :: KIM_SPECIES_NAME_CN
1220
1221  !> \brief \copybrief KIM::SPECIES_NAME::Nh
1222  !!
1223  !! \sa KIM::SPECIES_NAME::Nh, KIM_SPECIES_NAME_Nh
1224  !!
1225  !! \since 2.0
1226  type(kim_species_name_type), protected, save, &
1227    bind(c, name="KIM_SPECIES_NAME_Nh") &
1228    :: KIM_SPECIES_NAME_NH
1229
1230  !> \brief \copybrief KIM::SPECIES_NAME::Fl
1231  !!
1232  !! \sa KIM::SPECIES_NAME::Fl, KIM_SPECIES_NAME_Fl
1233  !!
1234  !! \since 2.0
1235  type(kim_species_name_type), protected, save, &
1236    bind(c, name="KIM_SPECIES_NAME_Fl") &
1237    :: KIM_SPECIES_NAME_FL
1238
1239  !> \brief \copybrief KIM::SPECIES_NAME::Mc
1240  !!
1241  !! \sa KIM::SPECIES_NAME::Mc, KIM_SPECIES_NAME_Mc
1242  !!
1243  !! \since 2.0
1244  type(kim_species_name_type), protected, save, &
1245    bind(c, name="KIM_SPECIES_NAME_Mc") &
1246    :: KIM_SPECIES_NAME_MC
1247
1248  !> \brief \copybrief KIM::SPECIES_NAME::Lv
1249  !!
1250  !! \sa KIM::SPECIES_NAME::Lv, KIM_SPECIES_NAME_Lv
1251  !!
1252  !! \since 2.0
1253  type(kim_species_name_type), protected, save, &
1254    bind(c, name="KIM_SPECIES_NAME_Lv") &
1255    :: KIM_SPECIES_NAME_LV
1256
1257  !> \brief \copybrief KIM::SPECIES_NAME::Ts
1258  !!
1259  !! \sa KIM::SPECIES_NAME::Ts, KIM_SPECIES_NAME_Ts
1260  !!
1261  !! \since 2.0
1262  type(kim_species_name_type), protected, save, &
1263    bind(c, name="KIM_SPECIES_NAME_Ts") &
1264    :: KIM_SPECIES_NAME_TS
1265
1266  !> \brief \copybrief KIM::SPECIES_NAME::Og
1267  !!
1268  !! \sa KIM::SPECIES_NAME::Og, KIM_SPECIES_NAME_Og
1269  !!
1270  !! \since 2.0
1271  type(kim_species_name_type), protected, save, &
1272    bind(c, name="KIM_SPECIES_NAME_Og") &
1273    :: KIM_SPECIES_NAME_OG
1274
1275  !> \brief \copybrief KIM::SPECIES_NAME::user01
1276  !!
1277  !! \sa KIM::SPECIES_NAME::user01, KIM_SPECIES_NAME_user01
1278  !!
1279  !! \since 2.0
1280  type(kim_species_name_type), protected, save, &
1281    bind(c, name="KIM_SPECIES_NAME_user01") &
1282    :: KIM_SPECIES_NAME_USER01
1283
1284  !> \brief \copybrief KIM::SPECIES_NAME::user02
1285  !!
1286  !! \sa KIM::SPECIES_NAME::user02, KIM_SPECIES_NAME_user02
1287  !!
1288  !! \since 2.0
1289  type(kim_species_name_type), protected, save, &
1290    bind(c, name="KIM_SPECIES_NAME_user02") &
1291    :: KIM_SPECIES_NAME_USER02
1292
1293  !> \brief \copybrief KIM::SPECIES_NAME::user03
1294  !!
1295  !! \sa KIM::SPECIES_NAME::user03, KIM_SPECIES_NAME_user03
1296  !!
1297  !! \since 2.0
1298  type(kim_species_name_type), protected, save, &
1299    bind(c, name="KIM_SPECIES_NAME_user03") &
1300    :: KIM_SPECIES_NAME_USER03
1301
1302  !> \brief \copybrief KIM::SPECIES_NAME::user04
1303  !!
1304  !! \sa KIM::SPECIES_NAME::user04, KIM_SPECIES_NAME_user04
1305  !!
1306  !! \since 2.0
1307  type(kim_species_name_type), protected, save, &
1308    bind(c, name="KIM_SPECIES_NAME_user04") &
1309    :: KIM_SPECIES_NAME_USER04
1310
1311  !> \brief \copybrief KIM::SPECIES_NAME::user05
1312  !!
1313  !! \sa KIM::SPECIES_NAME::user05, KIM_SPECIES_NAME_user05
1314  !!
1315  !! \since 2.0
1316  type(kim_species_name_type), protected, save, &
1317    bind(c, name="KIM_SPECIES_NAME_user05") &
1318    :: KIM_SPECIES_NAME_USER05
1319
1320  !> \brief \copybrief KIM::SPECIES_NAME::user06
1321  !!
1322  !! \sa KIM::SPECIES_NAME::user06, KIM_SPECIES_NAME_user06
1323  !!
1324  !! \since 2.0
1325  type(kim_species_name_type), protected, save, &
1326    bind(c, name="KIM_SPECIES_NAME_user06") &
1327    :: KIM_SPECIES_NAME_USER06
1328
1329  !> \brief \copybrief KIM::SPECIES_NAME::user07
1330  !!
1331  !! \sa KIM::SPECIES_NAME::user07, KIM_SPECIES_NAME_user07
1332  !!
1333  !! \since 2.0
1334  type(kim_species_name_type), protected, save, &
1335    bind(c, name="KIM_SPECIES_NAME_user07") &
1336    :: KIM_SPECIES_NAME_USER07
1337
1338  !> \brief \copybrief KIM::SPECIES_NAME::user08
1339  !!
1340  !! \sa KIM::SPECIES_NAME::user08, KIM_SPECIES_NAME_user08
1341  !!
1342  !! \since 2.0
1343  type(kim_species_name_type), protected, save, &
1344    bind(c, name="KIM_SPECIES_NAME_user08") &
1345    :: KIM_SPECIES_NAME_USER08
1346
1347  !> \brief \copybrief KIM::SPECIES_NAME::user09
1348  !!
1349  !! \sa KIM::SPECIES_NAME::user09, KIM_SPECIES_NAME_user09
1350  !!
1351  !! \since 2.0
1352  type(kim_species_name_type), protected, save, &
1353    bind(c, name="KIM_SPECIES_NAME_user09") &
1354    :: KIM_SPECIES_NAME_USER09
1355
1356  !> \brief \copybrief KIM::SPECIES_NAME::user10
1357  !!
1358  !! \sa KIM::SPECIES_NAME::user10, KIM_SPECIES_NAME_user10
1359  !!
1360  !! \since 2.0
1361  type(kim_species_name_type), protected, save, &
1362    bind(c, name="KIM_SPECIES_NAME_user10") &
1363    :: KIM_SPECIES_NAME_USER10
1364
1365  !> \brief \copybrief KIM::SPECIES_NAME::user11
1366  !!
1367  !! \sa KIM::SPECIES_NAME::user11, KIM_SPECIES_NAME_user11
1368  !!
1369  !! \since 2.0
1370  type(kim_species_name_type), protected, save, &
1371    bind(c, name="KIM_SPECIES_NAME_user11") &
1372    :: KIM_SPECIES_NAME_USER11
1373
1374  !> \brief \copybrief KIM::SPECIES_NAME::user12
1375  !!
1376  !! \sa KIM::SPECIES_NAME::user12, KIM_SPECIES_NAME_user12
1377  !!
1378  !! \since 2.0
1379  type(kim_species_name_type), protected, save, &
1380    bind(c, name="KIM_SPECIES_NAME_user12") &
1381    :: KIM_SPECIES_NAME_USER12
1382
1383  !> \brief \copybrief KIM::SPECIES_NAME::user13
1384  !!
1385  !! \sa KIM::SPECIES_NAME::user13, KIM_SPECIES_NAME_user13
1386  !!
1387  !! \since 2.0
1388  type(kim_species_name_type), protected, save, &
1389    bind(c, name="KIM_SPECIES_NAME_user13") &
1390    :: KIM_SPECIES_NAME_USER13
1391
1392  !> \brief \copybrief KIM::SPECIES_NAME::user14
1393  !!
1394  !! \sa KIM::SPECIES_NAME::user14, KIM_SPECIES_NAME_user14
1395  !!
1396  !! \since 2.0
1397  type(kim_species_name_type), protected, save, &
1398    bind(c, name="KIM_SPECIES_NAME_user14") &
1399    :: KIM_SPECIES_NAME_USER14
1400
1401  !> \brief \copybrief KIM::SPECIES_NAME::user15
1402  !!
1403  !! \sa KIM::SPECIES_NAME::user15, KIM_SPECIES_NAME_user15
1404  !!
1405  !! \since 2.0
1406  type(kim_species_name_type), protected, save, &
1407    bind(c, name="KIM_SPECIES_NAME_user15") &
1408    :: KIM_SPECIES_NAME_USER15
1409
1410  !> \brief \copybrief KIM::SPECIES_NAME::user16
1411  !!
1412  !! \sa KIM::SPECIES_NAME::user16, KIM_SPECIES_NAME_user16
1413  !!
1414  !! \since 2.0
1415  type(kim_species_name_type), protected, save, &
1416    bind(c, name="KIM_SPECIES_NAME_user16") &
1417    :: KIM_SPECIES_NAME_USER16
1418
1419  !> \brief \copybrief KIM::SPECIES_NAME::user17
1420  !!
1421  !! \sa KIM::SPECIES_NAME::user17, KIM_SPECIES_NAME_user17
1422  !!
1423  !! \since 2.0
1424  type(kim_species_name_type), protected, save, &
1425    bind(c, name="KIM_SPECIES_NAME_user17") &
1426    :: KIM_SPECIES_NAME_USER17
1427
1428  !> \brief \copybrief KIM::SPECIES_NAME::user18
1429  !!
1430  !! \sa KIM::SPECIES_NAME::user18, KIM_SPECIES_NAME_user18
1431  !!
1432  !! \since 2.0
1433  type(kim_species_name_type), protected, save, &
1434    bind(c, name="KIM_SPECIES_NAME_user18") &
1435    :: KIM_SPECIES_NAME_USER18
1436
1437  !> \brief \copybrief KIM::SPECIES_NAME::user19
1438  !!
1439  !! \sa KIM::SPECIES_NAME::user19, KIM_SPECIES_NAME_user19
1440  !!
1441  !! \since 2.0
1442  type(kim_species_name_type), protected, save, &
1443    bind(c, name="KIM_SPECIES_NAME_user19") &
1444    :: KIM_SPECIES_NAME_USER19
1445
1446  !> \brief \copybrief KIM::SPECIES_NAME::user20
1447  !!
1448  !! \sa KIM::SPECIES_NAME::user20, KIM_SPECIES_NAME_user20
1449  !!
1450  !! \since 2.0
1451  type(kim_species_name_type), protected, save, &
1452    bind(c, name="KIM_SPECIES_NAME_user20") &
1453    :: KIM_SPECIES_NAME_USER20
1454
1455  !> \brief \copybrief KIM::SpeciesName::Known
1456  !!
1457  !! \sa KIM::SpeciesName::Known, KIM_SpeciesName_Known
1458  !!
1459  !! \since 2.0
1460  interface kim_known
1461    module procedure kim_species_name_known
1462  end interface kim_known
1463
1464  !> \brief \copybrief KIM::SpeciesName::operator==()
1465  !!
1466  !! \sa KIM::SpeciesName::operator==(), KIM_SpeciesName_Equal
1467  !!
1468  !! \since 2.0
1469  interface operator(.eq.)
1470    module procedure kim_species_name_equal
1471  end interface operator(.eq.)
1472
1473  !> \brief \copybrief KIM::SpeciesName::operator!=()
1474  !!
1475  !! \sa KIM::SpeciesName::operator!=, KIM_SpeciesName_NotEqual
1476  !!
1477  !! \since 2.0
1478  interface operator(.ne.)
1479    module procedure kim_species_name_not_equal
1480  end interface operator(.ne.)
1481
1482  !> \brief \copybrief KIM::SpeciesName::SpeciesName(std::string const &)
1483  !!
1484  !! \sa KIM::SpeciesName::SpeciesName(std::string const &),
1485  !! KIM_SpeciesName_FromString
1486  !!
1487  !! \since 2.0
1488  interface kim_from_string
1489    module procedure kim_species_name_from_string
1490  end interface kim_from_string
1491
1492  !> \brief \copybrief KIM::SpeciesName::ToString
1493  !!
1494  !! \sa KIM::SpeciesName::ToString, KIM_SpeciesName_ToSting
1495  !!
1496  !! \since 2.0
1497  interface kim_to_string
1498    module procedure kim_species_name_to_string
1499  end interface kim_to_string
1500
1501contains
1502  !> \brief \copybrief KIM::SpeciesName::Known
1503  !!
1504  !! \sa KIM::SpeciesName::Known, KIM_SpeciesName_Known
1505  !!
1506  !! \since 2.0
1507  logical recursive function kim_species_name_known(species_name)
1508    implicit none
1509    interface
1510      integer(c_int) recursive function known(species_name) &
1511        bind(c, name="KIM_SpeciesName_Known")
1512        use, intrinsic :: iso_c_binding
1513        import kim_species_name_type
1514        implicit none
1515        type(kim_species_name_type), intent(in), value :: species_name
1516      end function known
1517    end interface
1518    type(kim_species_name_type), intent(in) :: species_name
1519
1520    kim_species_name_known = (known(species_name) /= 0)
1521  end function kim_species_name_known
1522
1523  !> \brief \copybrief KIM::SpeciesName::operator==()
1524  !!
1525  !! \sa KIM::SpeciesName::operator==(), KIM_SpeciesName_Equal
1526  !!
1527  !! \since 2.0
1528  logical recursive function kim_species_name_equal(lhs, rhs)
1529    implicit none
1530    type(kim_species_name_type), intent(in) :: lhs
1531    type(kim_species_name_type), intent(in) :: rhs
1532
1533    kim_species_name_equal &
1534      = (lhs%species_name_id == rhs%species_name_id)
1535  end function kim_species_name_equal
1536
1537  !> \brief \copybrief KIM::SpeciesName::operator!=()
1538  !!
1539  !! \sa KIM::SpeciesName::operator!=, KIM_SpeciesName_NotEqual
1540  !!
1541  !! \since 2.0
1542  logical recursive function kim_species_name_not_equal(lhs, rhs)
1543    implicit none
1544    type(kim_species_name_type), intent(in) :: lhs
1545    type(kim_species_name_type), intent(in) :: rhs
1546
1547    kim_species_name_not_equal = .not. (lhs == rhs)
1548  end function kim_species_name_not_equal
1549
1550  !> \brief \copybrief KIM::SpeciesName::SpeciesName(std::string const &)
1551  !!
1552  !! \sa KIM::SpeciesName::SpeciesName(std::string const &),
1553  !! KIM_SpeciesName_FromString
1554  !!
1555  !! \since 2.0
1556  recursive subroutine kim_species_name_from_string(string, species_name)
1557    implicit none
1558    interface
1559      type(kim_species_name_type) recursive function from_string(string) &
1560        bind(c, name="KIM_SpeciesName_FromString")
1561        use, intrinsic :: iso_c_binding
1562        import kim_species_name_type
1563        implicit none
1564        character(c_char), intent(in) :: string(*)
1565      end function from_string
1566    end interface
1567    character(len=*, kind=c_char), intent(in) :: string
1568    type(kim_species_name_type), intent(out) :: species_name
1569
1570    species_name = from_string(trim(string)//c_null_char)
1571  end subroutine kim_species_name_from_string
1572
1573  !> \brief \copybrief KIM::SpeciesName::ToString
1574  !!
1575  !! \sa KIM::SpeciesName::ToString, KIM_SpeciesName_ToSting
1576  !!
1577  !! \since 2.0
1578  recursive subroutine kim_species_name_to_string(species_name, string)
1579    use kim_convert_string_module, only: kim_convert_c_char_ptr_to_string
1580    implicit none
1581    interface
1582      type(c_ptr) recursive function get_string(species_name) &
1583        bind(c, name="KIM_SpeciesName_ToString")
1584        use, intrinsic :: iso_c_binding
1585        import kim_species_name_type
1586        implicit none
1587        type(kim_species_name_type), intent(in), value :: species_name
1588      end function get_string
1589    end interface
1590    type(kim_species_name_type), intent(in) :: species_name
1591    character(len=*, kind=c_char), intent(out) :: string
1592
1593    type(c_ptr) :: p
1594
1595    p = get_string(species_name)
1596    call kim_convert_c_char_ptr_to_string(p, string)
1597  end subroutine kim_species_name_to_string
1598
1599  !> \brief \copybrief KIM::SPECIES_NAME::GetNumberOfSpeciesNames
1600  !!
1601  !! \sa KIM::SPECIES_NAME::GetNumberOfSpeciesNames,
1602  !! KIM_SPECIES_NAME_GetNumberOfSpeciesNames
1603  !!
1604  !! \since 2.0
1605  recursive subroutine kim_get_number_of_species_names(number_of_species_names)
1606    implicit none
1607    interface
1608      recursive subroutine get_number_of_species_names( &
1609        number_of_species_names) &
1610        bind(c, name="KIM_SPECIES_NAME_GetNumberOfSpeciesNames")
1611        use, intrinsic :: iso_c_binding
1612        implicit none
1613        integer(c_int), intent(out) :: number_of_species_names
1614      end subroutine get_number_of_species_names
1615    end interface
1616    integer(c_int), intent(out) :: number_of_species_names
1617
1618    call get_number_of_species_names(number_of_species_names)
1619  end subroutine kim_get_number_of_species_names
1620
1621  !> \brief \copybrief KIM::SPECIES_NAME::GetSpeciesName
1622  !!
1623  !! \sa KIM::SPECIES_NAME::GetSpeciesName, KIM_SPECIES_NAME_GetSpeciesName
1624  !!
1625  !! \since 2.0
1626  recursive subroutine kim_get_species_name(index, species_name, ierr)
1627    implicit none
1628    interface
1629      integer(c_int) recursive function get_species_name(index, species_name) &
1630        bind(c, name="KIM_SPECIES_NAME_GetSpeciesName")
1631        use, intrinsic :: iso_c_binding
1632        import kim_species_name_type
1633        implicit none
1634        integer(c_int), intent(in), value :: index
1635        type(kim_species_name_type), intent(out) :: species_name
1636      end function get_species_name
1637    end interface
1638    integer(c_int), intent(in) :: index
1639    type(kim_species_name_type), intent(out) :: species_name
1640    integer(c_int), intent(out) :: ierr
1641
1642    ierr = get_species_name(index - 1, species_name)
1643  end subroutine kim_get_species_name
1644end module kim_species_name_module
1645