kim-api  2.3.0+v2.3.0.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 /* 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_MODEL_DRIVER_CREATE_H_
32 #define KIM_MODEL_DRIVER_CREATE_H_
33 
34 #ifndef KIM_FUNCTION_TYPES_H_
35 #include "KIM_FunctionTypes.h" /* IWYU pragma: export */
36 #endif
37 
38 /* Forward declarations */
39 #ifndef KIM_LOG_VERBOSITY_DEFINED_
40 #define KIM_LOG_VERBOSITY_DEFINED_
41 
47 #endif
48 
49 #ifndef KIM_LANGUAGE_NAME_DEFINED_
50 #define KIM_LANGUAGE_NAME_DEFINED_
51 
57 #endif
58 
59 #ifndef KIM_NUMBERING_DEFINED_
60 #define KIM_NUMBERING_DEFINED_
61 
67 #endif
68 
69 #ifndef KIM_MODEL_ROUTINE_NAME_DEFINED_
70 #define KIM_MODEL_ROUTINE_NAME_DEFINED_
71 
77 #endif
78 
79 #ifndef KIM_SPECIES_NAME_DEFINED_
80 #define KIM_SPECIES_NAME_DEFINED_
81 
87 #endif
88 
89 #ifndef KIM_LENGTH_UNIT_DEFINED_
90 #define KIM_LENGTH_UNIT_DEFINED_
91 
96 typedef struct KIM_LengthUnit KIM_LengthUnit;
97 #endif
98 
99 #ifndef KIM_ENERGY_UNIT_DEFINED_
100 #define KIM_ENERGY_UNIT_DEFINED_
101 
106 typedef struct KIM_EnergyUnit KIM_EnergyUnit;
107 #endif
108 
109 #ifndef KIM_CHARGE_UNIT_DEFINED_
110 #define KIM_CHARGE_UNIT_DEFINED_
111 
116 typedef struct KIM_ChargeUnit KIM_ChargeUnit;
117 #endif
118 
119 #ifndef KIM_TEMPERATURE_UNIT_DEFINED_
120 #define KIM_TEMPERATURE_UNIT_DEFINED_
121 
127 #endif
128 
129 #ifndef KIM_TIME_UNIT_DEFINED_
130 #define KIM_TIME_UNIT_DEFINED_
131 
136 typedef struct KIM_TimeUnit KIM_TimeUnit;
137 #endif
138 
139 
140 #ifndef KIM_MODEL_DRIVER_CREATE_DEFINED_
141 #define KIM_MODEL_DRIVER_CREATE_DEFINED_
142 
151 #endif
152 
153 
163  KIM_ModelDriverCreate const * const modelDriverCreate,
164  char const ** const directoryName);
165 
175  KIM_ModelDriverCreate const * const modelDriverCreate,
176  int * const numberOfParameterFiles);
177 
190  KIM_ModelDriverCreate const * const modelDriverCreate,
191  int const index,
192  char const ** const parameterFileName);
193 
203  KIM_ModelDriverCreate const * const modelDriverCreate,
204  int const index,
205  char const ** const parameterFileBasename);
206 
216  KIM_ModelDriverCreate * const modelDriverCreate,
217  KIM_Numbering const numbering);
218 
228  KIM_ModelDriverCreate * const modelDriverCreate,
229  double const * const influenceDistance);
230 
240  KIM_ModelDriverCreate * const modelDriverCreate,
241  int const numberOfNeighborLists,
242  double const * const cutoffs,
243  int const * const modelWillNotRequestNeighborsOfNoncontributingParticles);
244 
254  KIM_ModelDriverCreate * const modelDriverCreate,
255  KIM_ModelRoutineName const modelRoutineName,
256  KIM_LanguageName const languageName,
257  int const required,
258  KIM_Function * const fptr);
259 
269  KIM_ModelDriverCreate * const modelDriverCreate,
270  KIM_SpeciesName const speciesName,
271  int const code);
272 
282  KIM_ModelDriverCreate * const modelDriverCreate,
283  int const extent,
284  int * const ptr,
285  char const * const name,
286  char const * const description);
287 
297  KIM_ModelDriverCreate * const modelDriverCreate,
298  int const extent,
299  double * const ptr,
300  char const * const name,
301  char const * const description);
302 
312  KIM_ModelDriverCreate * const modelDriverCreate, void * const ptr);
313 
323  KIM_ModelDriverCreate * const modelDriverCreate,
324  KIM_LengthUnit const lengthUnit,
325  KIM_EnergyUnit const energyUnit,
326  KIM_ChargeUnit const chargeUnit,
327  KIM_TemperatureUnit const temperatureUnit,
328  KIM_TimeUnit const timeUnit);
329 
339  KIM_LengthUnit const fromLengthUnit,
340  KIM_EnergyUnit const fromEnergyUnit,
341  KIM_ChargeUnit const fromChargeUnit,
342  KIM_TemperatureUnit const fromTemperatureUnit,
343  KIM_TimeUnit const fromTimeUnit,
344  KIM_LengthUnit const toLengthUnit,
345  KIM_EnergyUnit const toEnergyUnit,
346  KIM_ChargeUnit const toChargeUnit,
347  KIM_TemperatureUnit const toTemperatureUnit,
348  KIM_TimeUnit const toTimeUnit,
349  double const lengthExponent,
350  double const energyExponent,
351  double const chargeExponent,
352  double const temperatureExponent,
353  double const timeExponent,
354  double * const conversionFactor);
355 
365  KIM_ModelDriverCreate const * const modelDriverCreate,
366  KIM_LogVerbosity const logVerbosity,
367  char const * const message,
368  int const lineNumber,
369  char const * const fileName);
370 
379 char const * KIM_ModelDriverCreate_ToString(
380  KIM_ModelDriverCreate const * const modelDriverCreate);
381 
382 #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:41
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:41
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.