kim-api  2.1.4-git+v2.1.3-git-3-g4c859c7f.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ModelDriverCreate.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_DRIVER_CREATE_H_
37 #define KIM_MODEL_DRIVER_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_DRIVER_CREATE_DEFINED_
146 #define KIM_MODEL_DRIVER_CREATE_DEFINED_
147 
156 #endif
157 
158 
168  KIM_ModelDriverCreate const * const modelDriverCreate,
169  int * const numberOfParameterFiles);
170 
180  KIM_ModelDriverCreate const * const modelDriverCreate,
181  int const index,
182  char const ** const parameterFileName);
183 
193  KIM_ModelDriverCreate * const modelDriverCreate,
194  KIM_Numbering const numbering);
195 
205  KIM_ModelDriverCreate * const modelDriverCreate,
206  double const * const influenceDistance);
207 
217  KIM_ModelDriverCreate * const modelDriverCreate,
218  int const numberOfNeighborLists,
219  double const * const cutoffs,
220  int const * const modelWillNotRequestNeighborsOfNoncontributingParticles);
221 
231  KIM_ModelDriverCreate * const modelDriverCreate,
232  KIM_ModelRoutineName const modelRoutineName,
233  KIM_LanguageName const languageName,
234  int const required,
235  KIM_Function * const fptr);
236 
246  KIM_ModelDriverCreate * const modelDriverCreate,
247  KIM_SpeciesName const speciesName,
248  int const code);
249 
259  KIM_ModelDriverCreate * const modelDriverCreate,
260  int const extent,
261  int * const ptr,
262  char const * const name,
263  char const * const description);
264 
274  KIM_ModelDriverCreate * const modelDriverCreate,
275  int const extent,
276  double * const ptr,
277  char const * const name,
278  char const * const description);
279 
289  KIM_ModelDriverCreate * const modelDriverCreate, void * const ptr);
290 
300  KIM_ModelDriverCreate * const modelDriverCreate,
301  KIM_LengthUnit const lengthUnit,
302  KIM_EnergyUnit const energyUnit,
303  KIM_ChargeUnit const chargeUnit,
304  KIM_TemperatureUnit const temperatureUnit,
305  KIM_TimeUnit const timeUnit);
306 
316  KIM_LengthUnit const fromLengthUnit,
317  KIM_EnergyUnit const fromEnergyUnit,
318  KIM_ChargeUnit const fromChargeUnit,
319  KIM_TemperatureUnit const fromTemperatureUnit,
320  KIM_TimeUnit const fromTimeUnit,
321  KIM_LengthUnit const toLengthUnit,
322  KIM_EnergyUnit const toEnergyUnit,
323  KIM_ChargeUnit const toChargeUnit,
324  KIM_TemperatureUnit const toTemperatureUnit,
325  KIM_TimeUnit const toTimeUnit,
326  double const lengthExponent,
327  double const energyExponent,
328  double const chargeExponent,
329  double const temperatureExponent,
330  double const timeExponent,
331  double * const conversionFactor);
332 
342  KIM_ModelDriverCreate const * const modelDriverCreate,
343  KIM_LogVerbosity const logVerbosity,
344  char const * const message,
345  int const lineNumber,
346  char const * const fileName);
347 
356 char const * KIM_ModelDriverCreate_ToString(
357  KIM_ModelDriverCreate const * const modelDriverCreate);
358 
359 #endif /* KIM_MODEL_DRIVER_CREATE_H_ */
int KIM_ModelDriverCreate_SetParameterPointerInteger(KIM_ModelDriverCreate *const modelDriverCreate, 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_ModelDriverCreate_SetUnits(KIM_ModelDriverCreate *const modelDriverCreate, 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_ModelDriverCreate_SetRoutinePointer(KIM_ModelDriverCreate *const modelDriverCreate, KIM_ModelRoutineName const modelRoutineName, KIM_LanguageName const languageName, int const required, KIM_Function *const fptr)
Set the function pointer for the ModelRoutineName of interest.
void() KIM_Function(void)
Generic function type.
void KIM_ModelDriverCreate_GetNumberOfParameterFiles(KIM_ModelDriverCreate const *const modelDriverCreate, int *const numberOfParameterFiles)
Get the number of parameter files provided by the parameterized model.
An Extensible Enumeration for the EnergyUnit's supported by the KIM API.
int KIM_ModelDriverCreate_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 LengthUnit's supported by the KIM API.
An Extensible Enumeration for the ChargeUnit's supported by the KIM API.
void KIM_ModelDriverCreate_SetInfluenceDistancePointer(KIM_ModelDriverCreate *const modelDriverCreate, double const *const influenceDistance)
Set the Model's influence distance data pointer.
SupportStatus const required
The standard required status.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
An Extensible Enumeration for the Numbering's supported by the KIM API.
Definition: KIM_Numbering.h:46
int KIM_ModelDriverCreate_GetParameterFileName(KIM_ModelDriverCreate const *const modelDriverCreate, int const index, char const **const parameterFileName)
Get a particular parameter file name.
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_ModelDriverCreate_SetSpeciesCode(KIM_ModelDriverCreate *const modelDriverCreate, KIM_SpeciesName const speciesName, int const code)
Set integer code for supported SpeciesName.
int KIM_ModelDriverCreate_SetParameterPointerDouble(KIM_ModelDriverCreate *const modelDriverCreate, 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.
char const * KIM_ModelDriverCreate_ToString(KIM_ModelDriverCreate const *const modelDriverCreate)
Get a string representing the internal state of the Model object.
An Extensible Enumeration for the TemperatureUnit's supported by the KIM API.
void KIM_ModelDriverCreate_SetModelBufferPointer(KIM_ModelDriverCreate *const modelDriverCreate, void *const ptr)
Set the Model's buffer pointer within the Model object.
int KIM_ModelDriverCreate_SetModelNumbering(KIM_ModelDriverCreate *const modelDriverCreate, KIM_Numbering const numbering)
Set the Model's particle Numbering.
struct KIM_ModelDriverCreate KIM_ModelDriverCreate
Forward declaration.
void KIM_ModelDriverCreate_SetNeighborListPointers(KIM_ModelDriverCreate *const modelDriverCreate, int const numberOfNeighborLists, double const *const cutoffs, int const *const modelWillNotRequestNeighborsOfNoncontributingParticles)
Set the Model's neighbor list data pointers.
An Extensible Enumeration for the SpeciesName's supported by the KIM API.
void KIM_ModelDriverCreate_LogEntry(KIM_ModelDriverCreate const *const modelDriverCreate, KIM_LogVerbosity const logVerbosity, char const *const message, int const lineNumber, char const *const fileName)
Write a log entry into the log file.