kim-api  2.3.1-git+v2.3.0-git-2-g378406f9.GNU.GNU.
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_SimulatorModel.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.git repository. */
28 /* */
29 
30 
31 #ifndef KIM_SIMULATOR_MODEL_H_
32 #define KIM_SIMULATOR_MODEL_H_
33 
34 /* Forward declarations */
35 #ifndef KIM_LOG_VERBOSITY_DEFINED_
36 #define KIM_LOG_VERBOSITY_DEFINED_
37 
43 #endif
44 
45 #ifndef KIM_SIMULATOR_MODEL_DEFINED_
46 #define KIM_SIMULATOR_MODEL_DEFINED_
47 
55 #endif
56 
65 int KIM_SimulatorModel_Create(char const * const simulatorModelName,
67 
77 
87  KIM_SimulatorModel const * const simulatorModel,
88  char const ** const simulatorName,
89  char const ** const simulatorVersion);
90 
100  KIM_SimulatorModel const * const simulatorModel,
101  int * const numberOfSupportedSpecies);
102 
112  KIM_SimulatorModel const * const simulatorModel,
113  int const index,
114  char const ** const speciesName);
115 
125  KIM_SimulatorModel const * const simulatorModel);
126 
136  KIM_SimulatorModel const * const simulatorModel);
137 
147  KIM_SimulatorModel const * const simulatorModel,
148  char const * const key,
149  char const * const value);
150 
160  KIM_SimulatorModel const * const simulatorModel);
161 
171  KIM_SimulatorModel const * const simulatorModel,
172  int * const numberOfSimulatorFields);
173 
183  KIM_SimulatorModel const * const simulatorModel,
184  int const fieldIndex,
185  int * const extent,
186  char const ** const fieldName);
187 
197  KIM_SimulatorModel const * const simulatorModel,
198  int const fieldIndex,
199  int const lineIndex,
200  char const ** const lineValue);
201 
211  KIM_SimulatorModel const * const simulatorModel,
212  char const ** const directoryName);
213 
223  KIM_SimulatorModel const * const simulatorModel,
224  char const ** const specificationFileName);
225 
235  KIM_SimulatorModel const * const simulatorModel,
236  int * const numberOfParameterFiles);
237 
250  KIM_SimulatorModel const * const simulatorModel,
251  int const index,
252  char const ** const parameterFileName);
253 
263  KIM_SimulatorModel const * const simulatorModel,
264  int const index,
265  char const ** const parameterFileBasename);
266 
276  KIM_SimulatorModel * const simulatorModel, void * const ptr);
277 
287  KIM_SimulatorModel const * const simulatorModel, void ** const ptr);
288 
296 char const *
298 
308  char const * const logID);
309 
320  KIM_LogVerbosity const logVerbosity);
321 
332 
333 #endif /* KIM_SIMULATOR_MODEL_H_ */
void KIM_SimulatorModel_CloseTemplateMap(KIM_SimulatorModel const *const simulatorModel)
Close the template map and perform template substitutions.
void KIM_SimulatorModel_OpenAndInitializeTemplateMap(KIM_SimulatorModel const *const simulatorModel)
Open and initialize the template map for simulator field line substitutions.
struct KIM_SimulatorModel KIM_SimulatorModel
Provides the primary interface to a KIM API SimulatorModel object and is meant to be used by simulato...
void KIM_SimulatorModel_GetParameterFileDirectoryName(KIM_SimulatorModel const *const simulatorModel, char const **const directoryName)
Get absolute path name of the temporary directory where parameter files provided by the simulator mod...
int KIM_SimulatorModel_GetSimulatorFieldMetadata(KIM_SimulatorModel const *const simulatorModel, int const fieldIndex, int *const extent, char const **const fieldName)
Get the metadata for the simulator field of interest.
void KIM_SimulatorModel_GetNumberOfSimulatorFields(KIM_SimulatorModel const *const simulatorModel, int *const numberOfSimulatorFields)
Get the number of simulator fields provided by the SimulatorModel.
CollectionItemType const simulatorModel
The standard simulatorModel CollectionItemType.
void KIM_SimulatorModel_GetSimulatorNameAndVersion(KIM_SimulatorModel const *const simulatorModel, char const **const simulatorName, char const **const simulatorVersion)
Get the SimulatorModel's simulator name and version.
void KIM_SimulatorModel_GetNumberOfSupportedSpecies(KIM_SimulatorModel const *const simulatorModel, int *const numberOfSupportedSpecies)
Get the number of species supported by the SimulatorModel.
void KIM_SimulatorModel_PopLogVerbosity(KIM_SimulatorModel *const simulatorModel)
Pop a LogVerbosity from the SimulatorModel object's Log object verbosity stack.
int KIM_SimulatorModel_GetParameterFileBasename(KIM_SimulatorModel const *const simulatorModel, int const index, char const **const parameterFileBasename)
Get the basename (file name without path) of a particular parameter file. The file is located in the ...
void KIM_SimulatorModel_GetSimulatorBufferPointer(KIM_SimulatorModel const *const simulatorModel, void **const ptr)
Get the Simulator's buffer pointer from the SimulatorModel object.
void KIM_SimulatorModel_SetSimulatorBufferPointer(KIM_SimulatorModel *const simulatorModel, void *const ptr)
Set the Simulator's buffer pointer within the SimulatorModel object.
void KIM_SimulatorModel_Destroy(KIM_SimulatorModel **const simulatorModel)
Destroy a previously SimulatorModel::Create'd object.
void KIM_SimulatorModel_GetNumberOfParameterFiles(KIM_SimulatorModel const *const simulatorModel, int *const numberOfParameterFiles)
Get the number of parameter files provided by the SimulatorModel.
void KIM_SimulatorModel_GetSpecificationFileName(KIM_SimulatorModel const *const simulatorModel, char const **const specificationFileName)
Get the SimulatorModel's specification file basename (file name without path). The file is located in...
void KIM_SimulatorModel_PushLogVerbosity(KIM_SimulatorModel *const simulatorModel, KIM_LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the SimulatorModel object's Log object verbosity stack.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
int KIM_SimulatorModel_AddTemplateMap(KIM_SimulatorModel const *const simulatorModel, char const *const key, char const *const value)
Add a new key-value entry to the template map.
int KIM_SimulatorModel_Create(char const *const simulatorModelName, KIM_SimulatorModel **const simulatorModel)
Create a new KIM API SimulatorModel object.
char const * KIM_SimulatorModel_ToString(KIM_SimulatorModel const *const simulatorModel)
Get a string representing the internal state of the SimulatorModel object.
int KIM_SimulatorModel_GetSimulatorFieldLine(KIM_SimulatorModel const *const simulatorModel, int const fieldIndex, int const lineIndex, char const **const lineValue)
Get a line for the simulator field of interest with all template substitutions performed (Requires th...
int KIM_SimulatorModel_GetSupportedSpecies(KIM_SimulatorModel const *const simulatorModel, int const index, char const **const speciesName)
Get a species name supported by the SimulatorModel.
int KIM_SimulatorModel_GetParameterFileName(KIM_SimulatorModel const *const simulatorModel, int const index, char const **const parameterFileName)
Get the basename (file name without path) of a particular parameter file. The file is located in the ...
int KIM_SimulatorModel_TemplateMapIsOpen(KIM_SimulatorModel const *const simulatorModel)
Determine if the template map is open.
void KIM_SimulatorModel_SetLogID(KIM_SimulatorModel *const simulatorModel, char const *const logID)
Set the identity of the Log object associated with the SimulatorModel object.