kim-api 2.3.0+AppleClang.AppleClang.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Loading...
Searching...
No Matches
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_
47#endif
48
49#ifndef KIM_LANGUAGE_NAME_DEFINED_
50#define KIM_LANGUAGE_NAME_DEFINED_
57#endif
58
59#ifndef KIM_NUMBERING_DEFINED_
60#define KIM_NUMBERING_DEFINED_
67#endif
68
69#ifndef KIM_MODEL_ROUTINE_NAME_DEFINED_
70#define KIM_MODEL_ROUTINE_NAME_DEFINED_
77#endif
78
79#ifndef KIM_SPECIES_NAME_DEFINED_
80#define KIM_SPECIES_NAME_DEFINED_
87#endif
88
89#ifndef KIM_LENGTH_UNIT_DEFINED_
90#define KIM_LENGTH_UNIT_DEFINED_
96typedef struct KIM_LengthUnit KIM_LengthUnit;
97#endif
98
99#ifndef KIM_ENERGY_UNIT_DEFINED_
100#define KIM_ENERGY_UNIT_DEFINED_
106typedef struct KIM_EnergyUnit KIM_EnergyUnit;
107#endif
108
109#ifndef KIM_CHARGE_UNIT_DEFINED_
110#define KIM_CHARGE_UNIT_DEFINED_
116typedef struct KIM_ChargeUnit KIM_ChargeUnit;
117#endif
118
119#ifndef KIM_TEMPERATURE_UNIT_DEFINED_
120#define KIM_TEMPERATURE_UNIT_DEFINED_
127#endif
128
129#ifndef KIM_TIME_UNIT_DEFINED_
130#define KIM_TIME_UNIT_DEFINED_
136typedef struct KIM_TimeUnit KIM_TimeUnit;
137#endif
138
139
140#ifndef KIM_MODEL_DRIVER_CREATE_DEFINED_
141#define KIM_MODEL_DRIVER_CREATE_DEFINED_
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
380 KIM_ModelDriverCreate const * const modelDriverCreate);
381
382#endif /* KIM_MODEL_DRIVER_CREATE_H_ */
void() KIM_Function(void)
Generic function type.
struct KIM_ModelDriverCreate KIM_ModelDriverCreate
Forward declaration.
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...
char const * KIM_ModelDriverCreate_ToString(KIM_ModelDriverCreate const *const modelDriverCreate)
Get a string representing the internal state of the Model object.
void KIM_ModelDriverCreate_SetInfluenceDistancePointer(KIM_ModelDriverCreate *const modelDriverCreate, double const *const influenceDistance)
Set the Model's influence distance data pointer.
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_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_ModelDriverCreate_GetNumberOfParameterFiles(KIM_ModelDriverCreate const *const modelDriverCreate, int *const numberOfParameterFiles)
Get the number of parameter files provided by the parameterized model.
int KIM_ModelDriverCreate_GetParameterFileName(KIM_ModelDriverCreate const *const modelDriverCreate, int const index, char const **const parameterFileName)
Get a particular parameter file name.
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.
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.
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...
int KIM_ModelDriverCreate_SetModelNumbering(KIM_ModelDriverCreate *const modelDriverCreate, KIM_Numbering const numbering)
Set the Model's particle Numbering.
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 ...
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_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.
int KIM_ModelDriverCreate_SetSpeciesCode(KIM_ModelDriverCreate *const modelDriverCreate, KIM_SpeciesName const speciesName, int const code)
Set integer code for supported SpeciesName.
void KIM_ModelDriverCreate_SetModelBufferPointer(KIM_ModelDriverCreate *const modelDriverCreate, void *const ptr)
Set the Model's buffer pointer within the Model object.
An Extensible Enumeration for the ChargeUnit's supported by the KIM API.
An Extensible Enumeration for the EnergyUnit's supported by the KIM API.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
An Extensible Enumeration for the LengthUnit's supported by the KIM API.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
An Extensible Enumeration for the ModelRoutineName's supported by the KIM API.
An Extensible Enumeration for the Numbering's supported by the KIM API.
Definition: KIM_Numbering.h:42
An Extensible Enumeration for the SpeciesName's supported by the KIM API.
An Extensible Enumeration for the TemperatureUnit's supported by the KIM API.
An Extensible Enumeration for the TimeUnit's supported by the KIM API.
Definition: KIM_TimeUnit.h:42