kim-api  2.1.4-git+v2.1.3-git-1-g7847914a.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 /* CDDL HEADER START */
3 /* */
4 /* The contents of this file are subject to the terms of the Common */
5 /* Development 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 */
13 /* LICENSE.CDDL. */
14 /* If applicable, add the following below this CDDL HEADER, with the fields */
15 /* enclosed by brackets "[]" replaced with your own identifying information: */
16 /* */
17 /* Portions Copyright (c) [yyyy] [name of copyright owner]. */
18 /* All rights reserved. */
19 /* */
20 /* CDDL HEADER END */
21 /* */
22 
23 /* */
24 /* Copyright (c) 2016--2019, Regents of the University of Minnesota. */
25 /* All rights reserved. */
26 /* */
27 /* Contributors: */
28 /* Ryan S. Elliott */
29 /* */
30 
31 /* */
32 /* Release: This file is part of the kim-api.git repository. */
33 /* */
34 
35 
36 #ifndef KIM_CHARGE_UNIT_H_
37 #define KIM_CHARGE_UNIT_H_
38 
47 {
57 };
58 #ifndef KIM_CHARGE_UNIT_DEFINED_
59 #define KIM_CHARGE_UNIT_DEFINED_
60 
66 #endif
67 
76 KIM_ChargeUnit KIM_ChargeUnit_FromString(char const * const str);
77 
85 int KIM_ChargeUnit_Known(KIM_ChargeUnit const chargeUnit);
86 
94 int KIM_ChargeUnit_Equal(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs);
95 
103 int KIM_ChargeUnit_NotEqual(KIM_ChargeUnit const lhs, KIM_ChargeUnit const rhs);
104 
112 char const * KIM_ChargeUnit_ToString(KIM_ChargeUnit const chargeUnit);
113 
123 
131 extern KIM_ChargeUnit const KIM_CHARGE_UNIT_C;
132 
140 extern KIM_ChargeUnit const KIM_CHARGE_UNIT_e;
141 
150 
159 void KIM_CHARGE_UNIT_GetNumberOfChargeUnits(int * const numberOfChargeUnits);
160 
169 int KIM_CHARGE_UNIT_GetChargeUnit(int const index,
170  KIM_ChargeUnit * const chargeUnit);
171 
172 #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.