35 use,
intrinsic :: iso_c_binding
40 kim_energy_unit_type, &
41 kim_energy_unit_from_string, &
44 kim_energy_unit_string, &
54 type, bind(c) :: kim_energy_unit_type
55 integer(c_int) energy_unit_id
56 end type kim_energy_unit_type
58 type(kim_energy_unit_type),
protected, &
59 bind(c, name=
"KIM_ENERGY_UNIT_unsued") &
61 type(kim_energy_unit_type),
protected, &
62 bind(c, name=
"KIM_ENERGY_UNIT_amu_A2_per_ps2") &
64 type(kim_energy_unit_type),
protected, &
65 bind(c, name=
"KIM_ENERGY_UNIT_erg") &
67 type(kim_energy_unit_type),
protected, &
68 bind(c, name=
"KIM_ENERGY_UNIT_eV") &
70 type(kim_energy_unit_type),
protected, &
71 bind(c, name=
"KIM_ENERGY_UNIT_Hartree") &
73 type(kim_energy_unit_type),
protected, &
74 bind(c, name=
"KIM_ENERGY_UNIT_J") &
76 type(kim_energy_unit_type),
protected, &
77 bind(c, name=
"KIM_ENERGY_UNIT_kcal_mol") &
80 interface operator (.eq.)
81 logical function kim_energy_unit_equal(left, right)
82 use,
intrinsic :: iso_c_binding
83 import kim_energy_unit_type
85 type(kim_energy_unit_type),
intent(in) :: left
86 type(kim_energy_unit_type),
intent(in) :: right
87 end function kim_energy_unit_equal
88 end interface operator (.eq.)
90 interface operator (.ne.)
91 logical function kim_energy_unit_not_equal(left, right)
92 use,
intrinsic :: iso_c_binding
93 import kim_energy_unit_type
95 type(kim_energy_unit_type),
intent(in) :: left
96 type(kim_energy_unit_type),
intent(in) :: right
97 end function kim_energy_unit_not_equal
98 end interface operator (.ne.)
101 subroutine kim_energy_unit_from_string(string, energy_unit)
102 import kim_energy_unit_type
104 character(len=*),
intent(in) :: string
105 type(kim_energy_unit_type),
intent(out) :: energy_unit
106 end subroutine kim_energy_unit_from_string
108 subroutine kim_energy_unit_string(energy_unit, string)
109 import kim_energy_unit_type
111 type(kim_energy_unit_type),
intent(in),
value :: energy_unit
112 character(len=*),
intent(out) :: string
113 end subroutine kim_energy_unit_string
type(kim_energy_unit_type), public, protected kim_energy_unit_ev
type(kim_energy_unit_type), public, protected kim_energy_unit_hartree
type(kim_energy_unit_type), public, protected kim_energy_unit_unused
type(kim_energy_unit_type), public, protected kim_energy_unit_j
type(kim_energy_unit_type), public, protected kim_energy_unit_kcal_mol
type(kim_energy_unit_type), public, protected kim_energy_unit_amu_a2_per_ps2
type(kim_energy_unit_type), public, protected kim_energy_unit_erg