kim-api  2.3.0+v2.3.0.GNU.GNU.
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ChargeUnit.h
Go to the documentation of this file.
1 /* */
2 /* KIM-API: An API for interatomic models */
3 /* Copyright (c) 2013--2022, Regents of the University of Minnesota. */
4 /* All rights reserved. */
5 /* */
6 /* Contributors: */
7 /* Ryan S. Elliott */
8 /* */
9 /* SPDX-License-Identifier: LGPL-2.1-or-later */
10 /* */
11 /* This library is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public */
13 /* License as published by the Free Software Foundation; either */
14 /* version 2.1 of the License, or (at your option) any later version. */
15 /* */
16 /* This library is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
19 /* Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this library; if not, write to the Free Software Foundation, */
23 /* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
24 /* */
25 
26 /* */
27 /* Release: This file is part of the kim-api-2.3.0 package. */
28 /* */
29 
30 
31 #ifndef KIM_CHARGE_UNIT_H_
32 #define KIM_CHARGE_UNIT_H_
33 
42 {
52 };
53 #ifndef KIM_CHARGE_UNIT_DEFINED_
54 #define KIM_CHARGE_UNIT_DEFINED_
55 
61 #endif
62 
71 KIM_ChargeUnit KIM_ChargeUnit_FromString(char const * const str);
72 
80 int KIM_ChargeUnit_Known(KIM_ChargeUnit const chargeUnit);
81 
89 int KIM_ChargeUnit_Equal(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs);
90 
98 int KIM_ChargeUnit_NotEqual(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs);
99 
107 char const * KIM_ChargeUnit_ToString(KIM_ChargeUnit const chargeUnit);
108 
118 
126 extern KIM_ChargeUnit const KIM_CHARGE_UNIT_C;
127 
135 extern KIM_ChargeUnit const KIM_CHARGE_UNIT_e;
136 
145 
154 void KIM_CHARGE_UNIT_GetNumberOfChargeUnits(int * const numberOfChargeUnits);
155 
164 int KIM_CHARGE_UNIT_GetChargeUnit(int const index,
165  KIM_ChargeUnit * const chargeUnit);
166 
167 #endif /* KIM_CHARGE_UNIT_H_ */
void KIM_CHARGE_UNIT_GetNumberOfChargeUnits(int *const numberOfChargeUnits)
Get the number of standard ChargeUnit's defined by the KIM API.
KIM_ChargeUnit const KIM_CHARGE_UNIT_statC
The standard statcoulomb unit of charge.
KIM_ChargeUnit const KIM_CHARGE_UNIT_e
The standard electron unit of charge.
int KIM_ChargeUnit_Equal(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs)
Compares ChargeUnit objects for equality.
An Extensible Enumeration for the ChargeUnit's supported by the KIM API.
int chargeUnitID
Integer identifying the specific ChargeUnit represented.
int KIM_ChargeUnit_NotEqual(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs)
Compares ChargeUnit objects for inequality.
int KIM_CHARGE_UNIT_GetChargeUnit(int const index, KIM_ChargeUnit *const chargeUnit)
Get the identity of each defined standard ChargeUnit.
int KIM_ChargeUnit_Known(KIM_ChargeUnit const chargeUnit)
Determines if the object is a quantity known to the KIM API.
KIM_ChargeUnit const KIM_CHARGE_UNIT_unused
Indicates that a ChargeUnit is not used.
KIM_ChargeUnit KIM_ChargeUnit_FromString(char const *const str)
Create a ChargeUnit object corresponding to the provided string. If the string does not match one of ...
char const * KIM_ChargeUnit_ToString(KIM_ChargeUnit const chargeUnit)
Converts the object to a string.
KIM_ChargeUnit const KIM_CHARGE_UNIT_C
The standard Coulomb unit of charge.