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_ModelExtension.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_EXTENSION_H_
32#define KIM_MODEL_EXTENSION_H_
33
34/* Forward declarations */
35#ifndef KIM_LOG_VERBOSITY_DEFINED_
36#define KIM_LOG_VERBOSITY_DEFINED_
43#endif
44
45#ifndef KIM_MODEL_DEFINED_
46#define KIM_MODEL_DEFINED_
52typedef struct KIM_Model KIM_Model;
53#endif
54
55#ifndef KIM_MODEL_COMPUTE_DEFINED_
56#define KIM_MODEL_COMPUTE_DEFINED_
63#endif
64
65#ifndef KIM_MODEL_CREATE_DEFINED_
66#define KIM_MODEL_CREATE_DEFINED_
73#endif
74
75#ifndef KIM_MODEL_DESTROY_DEFINED_
76#define KIM_MODEL_DESTROY_DEFINED_
83#endif
84
85#ifndef KIM_MODEL_DRIVER_CREATE_DEFINED_
86#define KIM_MODEL_DRIVER_CREATE_DEFINED_
93#endif
94
95#ifndef KIM_MODEL_REFRESH_DEFINED_
96#define KIM_MODEL_REFRESH_DEFINED_
103#endif
104
105#ifndef KIM_MODEL_WRITE_PARAMETERIZED_MODEL_DEFINED_
106#define KIM_MODEL_WRITE_PARAMETERIZED_MODEL_DEFINED_
114#endif
115
116#ifndef KIM_COMPUTE_ARGUMENTS_DEFINED_
117#define KIM_COMPUTE_ARGUMENTS_DEFINED_
124#endif
125
126#ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
127#define KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
134#endif
135
136#ifndef KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_DEFINED_
137#define KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_DEFINED_
144#endif
145
146#ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DESTROY_DEFINED_
147#define KIM_MODEL_COMPUTE_ARGUMENTS_DESTROY_DEFINED_
155#endif
156
157
158#ifndef KIM_MODEL_EXTENSION_DEFINED_
159#define KIM_MODEL_EXTENSION_DEFINED_
169#endif
170
180 KIM_ModelExtension const * const modelExtension,
181 char const ** const extensionID);
182
190KIM_Model *
192
203
214
225
235 KIM_ModelExtension * const modelExtension);
236
247
258 KIM_ModelExtension * const modelExtension);
259
269 KIM_ModelExtension const * const modelExtension,
270 KIM_ComputeArguments * const computeArguments);
272
282 KIM_ModelExtension const * const modelExtension,
283 KIM_ComputeArguments * const computeArguments);
284
295 KIM_ModelExtension const * const modelExtension,
296 KIM_ComputeArguments * const computeArguments);
297
307 KIM_ModelExtension const * const modelCompute, void ** const ptr);
308
317void KIM_ModelExtension_LogEntry(KIM_ModelExtension const * const modelCompute,
318 KIM_LogVerbosity const logVerbosity,
319 char const * const message,
320 int const lineNumber,
321 char const * const fileName);
322
331char const *
333
334#endif /* KIM_MODEL_EXTENSION_H_ */
struct KIM_ComputeArguments KIM_ComputeArguments
Provides the primary interface to a KIM API ComputeArguments object and is meant to be used by simula...
struct KIM_ModelWriteParameterizedModel KIM_ModelWriteParameterizedModel
Forward declaration.
struct KIM_ModelComputeArgumentsCreate KIM_ModelComputeArgumentsCreate
Forward declaration.
struct KIM_ModelComputeArgumentsDestroy KIM_ModelComputeArgumentsDestroy
Forward declaration.
struct KIM_ModelCreate KIM_ModelCreate
Forward declaration.
struct KIM_ModelDestroy KIM_ModelDestroy
Forward declaration.
struct KIM_ModelCompute KIM_ModelCompute
Forward declaration.
struct KIM_ModelComputeArguments KIM_ModelComputeArguments
Forward declaration.
struct KIM_ModelDriverCreate KIM_ModelDriverCreate
Forward declaration.
struct KIM_ModelExtension KIM_ModelExtension
Forward declaration.
struct KIM_ModelRefresh KIM_ModelRefresh
Forward declaration.
struct KIM_Model KIM_Model
Provides the primary interface to a KIM API Model object and is meant to be used by simulators.
Definition: KIM_Model.h:155
KIM_Model * KIM_ModelExtension_ToModel(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a Model interface.
char const * KIM_ModelExtension_ToString(KIM_ModelExtension const *const modelCompute)
Get a string representing the internal state of the Model object.
void KIM_ModelExtension_GetModelBufferPointer(KIM_ModelExtension const *const modelCompute, void **const ptr)
Get the Model's buffer pointer within the Model object.
KIM_ModelCompute * KIM_ModelExtension_ToModelCompute(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelCompute interface.
void KIM_ModelExtension_LogEntry(KIM_ModelExtension const *const modelCompute, KIM_LogVerbosity const logVerbosity, char const *const message, int const lineNumber, char const *const fileName)
Write a log entry into the log file.
void KIM_ModelExtension_GetExtensionID(KIM_ModelExtension const *const modelExtension, char const **const extensionID)
Get the extension identification string.
KIM_ModelComputeArguments * KIM_ModelExtension_ToModelComputeArguments(KIM_ModelExtension const *const modelExtension, KIM_ComputeArguments *const computeArguments)
Convert the ModelExtension interface to the Model object to a ModelComputeArguments interface.
KIM_ModelCreate * KIM_ModelExtension_ToModelCreate(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelCreate interface.
KIM_ModelComputeArgumentsDestroy * KIM_ModelExtension_ToModelComputeArgumentsDestroy(KIM_ModelExtension const *const modelExtension, KIM_ComputeArguments *const computeArguments)
Convert the ModelExtension interface to the Model object to a ModelComputeArgumentsDestroy interface.
KIM_ModelDriverCreate * KIM_ModelExtension_ToModelDriverCreate(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelDriverCreate interface.
KIM_ModelRefresh * KIM_ModelExtension_ToModelRefresh(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelRefresh interface.
KIM_ModelDestroy * KIM_ModelExtension_ToModelDestroy(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelDestroy interface.
KIM_ModelComputeArgumentsCreate * KIM_ModelExtension_ToModelComputeArgumentsCreate(KIM_ModelExtension const *const modelExtension, KIM_ComputeArguments *const computeArguments)
Convert the ModelExtension interface to the Model object to a ModelComputeArgumentsCreate interface.
KIM_ModelWriteParameterizedModel * KIM_ModelExtension_ToModelWriteParameterizedModel(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelWriteParameterizedModel interface.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.