kim-api  2.2.1+v2.2.1.GNU.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--2020, 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-2.2.1 package. */
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  char const ** const directoryName);
170 
180  KIM_ModelDriverCreate const * const modelDriverCreate,
181  int * const numberOfParameterFiles);
182 
195  KIM_ModelDriverCreate const * const modelDriverCreate,
196  int const index,
197  char const ** const parameterFileName);
198 
208  KIM_ModelDriverCreate const * const modelDriverCreate,
209  int const index,
210  char const ** const parameterFileBasename);
211 
221  KIM_ModelDriverCreate * const modelDriverCreate,
222  KIM_Numbering const numbering);
223 
233  KIM_ModelDriverCreate * const modelDriverCreate,
234  double const * const influenceDistance);
235 
245  KIM_ModelDriverCreate * const modelDriverCreate,
246  int const numberOfNeighborLists,
247  double const * const cutoffs,
248  int const * const modelWillNotRequestNeighborsOfNoncontributingParticles);
249 
259  KIM_ModelDriverCreate * const modelDriverCreate,
260  KIM_ModelRoutineName const modelRoutineName,
261  KIM_LanguageName const languageName,
262  int const required,
263  KIM_Function * const fptr);
264 
274  KIM_ModelDriverCreate * const modelDriverCreate,
275  KIM_SpeciesName const speciesName,
276  int const code);
277 
287  KIM_ModelDriverCreate * const modelDriverCreate,
288  int const extent,
289  int * const ptr,
290  char const * const name,
291  char const * const description);
292 
302  KIM_ModelDriverCreate * const modelDriverCreate,
303  int const extent,
304  double * const ptr,
305  char const * const name,
306  char const * const description);
307 
317  KIM_ModelDriverCreate * const modelDriverCreate, void * const ptr);
318 
328  KIM_ModelDriverCreate * const modelDriverCreate,
329  KIM_LengthUnit const lengthUnit,
330  KIM_EnergyUnit const energyUnit,
331  KIM_ChargeUnit const chargeUnit,
332  KIM_TemperatureUnit const temperatureUnit,
333  KIM_TimeUnit const timeUnit);
334 
344  KIM_LengthUnit const fromLengthUnit,
345  KIM_EnergyUnit const fromEnergyUnit,
346  KIM_ChargeUnit const fromChargeUnit,
347  KIM_TemperatureUnit const fromTemperatureUnit,
348  KIM_TimeUnit const fromTimeUnit,
349  KIM_LengthUnit const toLengthUnit,
350  KIM_EnergyUnit const toEnergyUnit,
351  KIM_ChargeUnit const toChargeUnit,
352  KIM_TemperatureUnit const toTemperatureUnit,
353  KIM_TimeUnit const toTimeUnit,
354  double const lengthExponent,
355  double const energyExponent,
356  double const chargeExponent,
357  double const temperatureExponent,
358  double const timeExponent,
359  double * const conversionFactor);
360 
370  KIM_ModelDriverCreate const * const modelDriverCreate,
371  KIM_LogVerbosity const logVerbosity,
372  char const * const message,
373  int const lineNumber,
374  char const * const fileName);
375 
384 char const * KIM_ModelDriverCreate_ToString(
385  KIM_ModelDriverCreate const * const modelDriverCreate);
386 
387 #endif /* KIM_MODEL_DRIVER_CREATE_H_ */
int KIM_ModelDriverCreate_GetParameterFileBasename(KIM_ModelDriverCreate const *const modelDriverCreate, int const index, char const **const parameterFileBasename)
Get a particular parameter file basename. The file is located in the Model's parameter file directory...
void KIM_ModelDriverCreate_GetParameterFileDirectoryName(KIM_ModelDriverCreate const *const modelDriverCreate, char const **const directoryName)
Get absolute path name of the temporary directory where parameter files provided by the model are wri...
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.