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_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-2.3.0 package. */
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_
43#endif
44
45#ifndef KIM_SIMULATOR_MODEL_DEFINED_
46#define KIM_SIMULATOR_MODEL_DEFINED_
55#endif
56
65int KIM_SimulatorModel_Create(char const * const simulatorModelName,
66 KIM_SimulatorModel ** const simulatorModel);
67
76void KIM_SimulatorModel_Destroy(KIM_SimulatorModel ** const simulatorModel);
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
296char const *
298
308 char const * const logID);
309
319 KIM_SimulatorModel * const simulatorModel,
320 KIM_LogVerbosity const logVerbosity);
321
331 KIM_SimulatorModel * const simulatorModel);
332
333#endif /* KIM_SIMULATOR_MODEL_H_ */
char const * KIM_SimulatorModel_ToString(KIM_SimulatorModel const *const simulatorModel)
Get a string representing the internal state of the SimulatorModel object.
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_OpenAndInitializeTemplateMap(KIM_SimulatorModel const *const simulatorModel)
Open and initialize the template map for simulator field line substitutions.
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_Destroy(KIM_SimulatorModel **const simulatorModel)
Destroy a previously SimulatorModel::Create'd object.
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 ...
void KIM_SimulatorModel_SetLogID(KIM_SimulatorModel *const simulatorModel, char const *const logID)
Set the identity of the Log object associated with 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...
void KIM_SimulatorModel_GetNumberOfSimulatorFields(KIM_SimulatorModel const *const simulatorModel, int *const numberOfSimulatorFields)
Get the number of simulator fields provided by the SimulatorModel.
void KIM_SimulatorModel_SetSimulatorBufferPointer(KIM_SimulatorModel *const simulatorModel, void *const ptr)
Set the Simulator's buffer pointer within the SimulatorModel object.
void KIM_SimulatorModel_CloseTemplateMap(KIM_SimulatorModel const *const simulatorModel)
Close the template map and perform template substitutions.
int KIM_SimulatorModel_TemplateMapIsOpen(KIM_SimulatorModel const *const simulatorModel)
Determine if the template map is open.
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_PushLogVerbosity(KIM_SimulatorModel *const simulatorModel, KIM_LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the SimulatorModel object's Log object verbosity stack.
void KIM_SimulatorModel_PopLogVerbosity(KIM_SimulatorModel *const simulatorModel)
Pop a LogVerbosity from the SimulatorModel object's Log object verbosity stack.
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_GetNumberOfParameterFiles(KIM_SimulatorModel const *const simulatorModel, int *const numberOfParameterFiles)
Get the number of parameter files provided by the SimulatorModel.
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.
struct KIM_SimulatorModel KIM_SimulatorModel
Provides the primary interface to a KIM API SimulatorModel object and is meant to be used by simulato...
int KIM_SimulatorModel_Create(char const *const simulatorModelName, KIM_SimulatorModel **const simulatorModel)
Create a new KIM API SimulatorModel object.
void KIM_SimulatorModel_GetNumberOfSupportedSpecies(KIM_SimulatorModel const *const simulatorModel, int *const numberOfSupportedSpecies)
Get the number of species supported by the SimulatorModel.
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_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 ...
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.