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_ModelCreate.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_MODEL_CREATE_H_
37 #define KIM_MODEL_CREATE_H_
38 
39 #ifndef KIM_FUNCTION_TYPES_H_
40 #include "KIM_FunctionTypes.h" /* IWYU pragma: export */
41 #endif
42 
43 /* Forward declarations */
44 #ifndef KIM_LOG_VERBOSITY_DEFINED_
45 #define KIM_LOG_VERBOSITY_DEFINED_
46 
52 #endif
53 
54 #ifndef KIM_LANGUAGE_NAME_DEFINED_
55 #define KIM_LANGUAGE_NAME_DEFINED_
56 
62 #endif
63 
64 #ifndef KIM_NUMBERING_DEFINED_
65 #define KIM_NUMBERING_DEFINED_
66 
72 #endif
73 
74 #ifndef KIM_MODEL_ROUTINE_NAME_DEFINED_
75 #define KIM_MODEL_ROUTINE_NAME_DEFINED_
76 
82 #endif
83 
84 #ifndef KIM_SPECIES_NAME_DEFINED_
85 #define KIM_SPECIES_NAME_DEFINED_
86 
92 #endif
93 
94 #ifndef KIM_LENGTH_UNIT_DEFINED_
95 #define KIM_LENGTH_UNIT_DEFINED_
96 
101 typedef struct KIM_LengthUnit KIM_LengthUnit;
102 #endif
103 
104 #ifndef KIM_ENERGY_UNIT_DEFINED_
105 #define KIM_ENERGY_UNIT_DEFINED_
106 
111 typedef struct KIM_EnergyUnit KIM_EnergyUnit;
112 #endif
113 
114 #ifndef KIM_CHARGE_UNIT_DEFINED_
115 #define KIM_CHARGE_UNIT_DEFINED_
116 
121 typedef struct KIM_ChargeUnit KIM_ChargeUnit;
122 #endif
123 
124 #ifndef KIM_TEMPERATURE_UNIT_DEFINED_
125 #define KIM_TEMPERATURE_UNIT_DEFINED_
126 
132 #endif
133 
134 #ifndef KIM_TIME_UNIT_DEFINED_
135 #define KIM_TIME_UNIT_DEFINED_
136 
141 typedef struct KIM_TimeUnit KIM_TimeUnit;
142 #endif
143 
144 
145 #ifndef KIM_MODEL_CREATE_DEFINED_
146 #define KIM_MODEL_CREATE_DEFINED_
147 
154 typedef struct KIM_ModelCreate KIM_ModelCreate;
155 #endif
156 
157 
166 int KIM_ModelCreate_SetModelNumbering(KIM_ModelCreate * const modelCreate,
167  KIM_Numbering const numbering);
168 
178  KIM_ModelCreate * const modelCreate,
179  double const * const influenceDistance);
180 
190  KIM_ModelCreate * const modelCreate,
191  int const numberOfNeighborLists,
192  double const * const cutoffs,
193  int const * const modelWillNotRequestNeighborsOfNoncontributingParticles);
194 
204  KIM_ModelCreate * const modelCreate,
205  KIM_ModelRoutineName const modelRoutineName,
206  KIM_LanguageName const languageName,
207  int const required,
208  KIM_Function * const fptr);
209 
218 int KIM_ModelCreate_SetSpeciesCode(KIM_ModelCreate * const modelCreate,
219  KIM_SpeciesName const speciesName,
220  int const code);
221 
231  KIM_ModelCreate * const modelCreate,
232  int const extent,
233  int * const ptr,
234  char const * const name,
235  char const * const description);
236 
246  KIM_ModelCreate * const modelCreate,
247  int const extent,
248  double * const ptr,
249  char const * const name,
250  char const * const description);
251 
261  void * const ptr);
262 
270 int KIM_ModelCreate_SetUnits(KIM_ModelCreate * const modelCreate,
271  KIM_LengthUnit const lengthUnit,
272  KIM_EnergyUnit const energyUnit,
273  KIM_ChargeUnit const chargeUnit,
274  KIM_TemperatureUnit const temperatureUnit,
275  KIM_TimeUnit const timeUnit);
276 
285 int KIM_ModelCreate_ConvertUnit(KIM_LengthUnit const fromLengthUnit,
286  KIM_EnergyUnit const fromEnergyUnit,
287  KIM_ChargeUnit const fromChargeUnit,
288  KIM_TemperatureUnit const fromTemperatureUnit,
289  KIM_TimeUnit const fromTimeUnit,
290  KIM_LengthUnit const toLengthUnit,
291  KIM_EnergyUnit const toEnergyUnit,
292  KIM_ChargeUnit const toChargeUnit,
293  KIM_TemperatureUnit const toTemperatureUnit,
294  KIM_TimeUnit const toTimeUnit,
295  double const lengthExponent,
296  double const energyExponent,
297  double const chargeExponent,
298  double const temperatureExponent,
299  double const timeExponent,
300  double * const conversionFactor);
301 
309 void KIM_ModelCreate_LogEntry(KIM_ModelCreate const * const modelCreate,
310  KIM_LogVerbosity const logVerbosity,
311  char const * const message,
312  int const lineNumber,
313  char const * const fileName);
314 
322 char const *
323 KIM_ModelCreate_ToString(KIM_ModelCreate const * const modelCreate);
324 
325 #endif /* KIM_MODEL_CREATE_H_ */
void KIM_ModelCreate_SetInfluenceDistancePointer(KIM_ModelCreate *const modelCreate, double const *const influenceDistance)
Set the Model's influence distance data pointer.
void() KIM_Function(void)
Generic function type.
void KIM_ModelCreate_LogEntry(KIM_ModelCreate const *const modelCreate, KIM_LogVerbosity const logVerbosity, char const *const message, int const lineNumber, char const *const fileName)
Write a log entry into the log file.
An Extensible Enumeration for the EnergyUnit's supported by the KIM API.
An Extensible Enumeration for the LengthUnit's supported by the KIM API.
An Extensible Enumeration for the ChargeUnit's supported by the KIM API.
SupportStatus const required
The standard required status.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
void KIM_ModelCreate_SetModelBufferPointer(KIM_ModelCreate *const modelCreate, void *const ptr)
Set the Model's buffer pointer within the Model object.
An Extensible Enumeration for the Numbering's supported by the KIM API.
Definition: KIM_Numbering.h:46
struct KIM_ModelCreate KIM_ModelCreate
Forward declaration.
An Extensible Enumeration for the ModelRoutineName's supported by the KIM API.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
An Extensible Enumeration for the TimeUnit's supported by the KIM API.
Definition: KIM_TimeUnit.h:46
int KIM_ModelCreate_SetUnits(KIM_ModelCreate *const modelCreate, KIM_LengthUnit const lengthUnit, KIM_EnergyUnit const energyUnit, KIM_ChargeUnit const chargeUnit, KIM_TemperatureUnit const temperatureUnit, KIM_TimeUnit const timeUnit)
Set the Model's base unit values.
int KIM_ModelCreate_SetParameterPointerInteger(KIM_ModelCreate *const modelCreate, int const extent, int *const ptr, char const *const name, char const *const description)
Set the next parameter data pointer to be provided by the model.
int KIM_ModelCreate_SetModelNumbering(KIM_ModelCreate *const modelCreate, KIM_Numbering const numbering)
Set the Model's particle Numbering.
void KIM_ModelCreate_SetNeighborListPointers(KIM_ModelCreate *const modelCreate, int const numberOfNeighborLists, double const *const cutoffs, int const *const modelWillNotRequestNeighborsOfNoncontributingParticles)
Set the Model's neighbor list data pointers.
int KIM_ModelCreate_SetSpeciesCode(KIM_ModelCreate *const modelCreate, KIM_SpeciesName const speciesName, int const code)
Set integer code for supported SpeciesName.
char const * KIM_ModelCreate_ToString(KIM_ModelCreate const *const modelCreate)
Get a string representing the internal state of the Model object.
int KIM_ModelCreate_SetRoutinePointer(KIM_ModelCreate *const modelCreate, KIM_ModelRoutineName const modelRoutineName, KIM_LanguageName const languageName, int const required, KIM_Function *const fptr)
Set the function pointer for the ModelRoutineName of interest.
int KIM_ModelCreate_SetParameterPointerDouble(KIM_ModelCreate *const modelCreate, int const extent, double *const ptr, char const *const name, char const *const description)
Set the next parameter data pointer to be provided by the model.
An Extensible Enumeration for the TemperatureUnit's supported by the KIM API.
int KIM_ModelCreate_ConvertUnit(KIM_LengthUnit const fromLengthUnit, KIM_EnergyUnit const fromEnergyUnit, KIM_ChargeUnit const fromChargeUnit, KIM_TemperatureUnit const fromTemperatureUnit, KIM_TimeUnit const fromTimeUnit, KIM_LengthUnit const toLengthUnit, KIM_EnergyUnit const toEnergyUnit, KIM_ChargeUnit const toChargeUnit, KIM_TemperatureUnit const toTemperatureUnit, KIM_TimeUnit const toTimeUnit, double const lengthExponent, double const energyExponent, double const chargeExponent, double const temperatureExponent, double const timeExponent, double *const conversionFactor)
Get the multiplicative factor to convert between a derived unit represented in two different sets of ...
An Extensible Enumeration for the SpeciesName's supported by the KIM API.