31#ifndef KIM_MODEL_DRIVER_CREATE_H_
32#define KIM_MODEL_DRIVER_CREATE_H_
34#ifndef KIM_FUNCTION_TYPES_H_
39#ifndef KIM_LOG_VERBOSITY_DEFINED_
40#define KIM_LOG_VERBOSITY_DEFINED_
49#ifndef KIM_LANGUAGE_NAME_DEFINED_
50#define KIM_LANGUAGE_NAME_DEFINED_
59#ifndef KIM_NUMBERING_DEFINED_
60#define KIM_NUMBERING_DEFINED_
69#ifndef KIM_MODEL_ROUTINE_NAME_DEFINED_
70#define KIM_MODEL_ROUTINE_NAME_DEFINED_
79#ifndef KIM_SPECIES_NAME_DEFINED_
80#define KIM_SPECIES_NAME_DEFINED_
89#ifndef KIM_LENGTH_UNIT_DEFINED_
90#define KIM_LENGTH_UNIT_DEFINED_
99#ifndef KIM_ENERGY_UNIT_DEFINED_
100#define KIM_ENERGY_UNIT_DEFINED_
109#ifndef KIM_CHARGE_UNIT_DEFINED_
110#define KIM_CHARGE_UNIT_DEFINED_
119#ifndef KIM_TEMPERATURE_UNIT_DEFINED_
120#define KIM_TEMPERATURE_UNIT_DEFINED_
129#ifndef KIM_TIME_UNIT_DEFINED_
130#define KIM_TIME_UNIT_DEFINED_
140#ifndef KIM_MODEL_DRIVER_CREATE_DEFINED_
141#define KIM_MODEL_DRIVER_CREATE_DEFINED_
164 char const **
const directoryName);
176 int *
const numberOfParameterFiles);
192 char const **
const parameterFileName);
205 char const **
const parameterFileBasename);
229 double const *
const influenceDistance);
241 int const numberOfNeighborLists,
242 double const *
const cutoffs,
243 int const *
const modelWillNotRequestNeighborsOfNoncontributingParticles);
285 char const *
const name,
286 char const *
const description);
300 char const *
const name,
301 char const *
const description);
349 double const lengthExponent,
350 double const energyExponent,
351 double const chargeExponent,
352 double const temperatureExponent,
353 double const timeExponent,
354 double *
const conversionFactor);
367 char const *
const message,
368 int const lineNumber,
369 char const *
const fileName);
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.
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.