kim-api  2.1.2+v2.1.2.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ModelExtension.h
Go to the documentation of this file.
1 /* */
2 /* CDDL HEADER START */
3 /* */
4 /* The contents of this file are subject to the terms of the Common */
5 /* Development and Distribution License Version 1.0 (the "License"). */
6 /* */
7 /* You can obtain a copy of the license at */
8 /* http://www.opensource.org/licenses/CDDL-1.0. See the License for the */
9 /* specific language governing permissions and limitations under the License. */
10 /* */
11 /* When distributing Covered Code, include this CDDL HEADER in each file and */
12 /* include the License file in a prominent location with the name */
13 /* LICENSE.CDDL. */
14 /* If applicable, add the following below this CDDL HEADER, with the fields */
15 /* enclosed by brackets "[]" replaced with your own identifying information: */
16 /* */
17 /* Portions Copyright (c) [yyyy] [name of copyright owner]. */
18 /* All rights reserved. */
19 /* */
20 /* CDDL HEADER END */
21 /* */
22 
23 /* */
24 /* Copyright (c) 2016--2019, Regents of the University of Minnesota. */
25 /* All rights reserved. */
26 /* */
27 /* Contributors: */
28 /* Ryan S. Elliott */
29 /* */
30 
31 /* */
32 /* Release: This file is part of the kim-api-2.1.2 package. */
33 /* */
34 
35 
36 #ifndef KIM_MODEL_EXTENSION_H_
37 #define KIM_MODEL_EXTENSION_H_
38 
39 /* Forward declarations */
40 #ifndef KIM_LOG_VERBOSITY_DEFINED_
41 #define KIM_LOG_VERBOSITY_DEFINED_
42 
48 #endif
49 
50 #ifndef KIM_MODEL_DEFINED_
51 #define KIM_MODEL_DEFINED_
52 
57 typedef struct KIM_Model KIM_Model;
58 #endif
59 
60 #ifndef KIM_MODEL_COMPUTE_DEFINED_
61 #define KIM_MODEL_COMPUTE_DEFINED_
62 
68 #endif
69 
70 #ifndef KIM_MODEL_CREATE_DEFINED_
71 #define KIM_MODEL_CREATE_DEFINED_
72 
78 #endif
79 
80 #ifndef KIM_MODEL_DESTROY_DEFINED_
81 #define KIM_MODEL_DESTROY_DEFINED_
82 
88 #endif
89 
90 #ifndef KIM_MODEL_DRIVER_CREATE_DEFINED_
91 #define KIM_MODEL_DRIVER_CREATE_DEFINED_
92 
98 #endif
99 
100 #ifndef KIM_MODEL_REFRESH_DEFINED_
101 #define KIM_MODEL_REFRESH_DEFINED_
102 
108 #endif
109 
110 #ifndef KIM_MODEL_WRITE_PARAMETERIZED_MODEL_DEFINED_
111 #define KIM_MODEL_WRITE_PARAMETERIZED_MODEL_DEFINED_
112 
119 #endif
120 
121 #ifndef KIM_COMPUTE_ARGUMENTS_DEFINED_
122 #define KIM_COMPUTE_ARGUMENTS_DEFINED_
123 
129 #endif
130 
131 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
132 #define KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
133 
139 #endif
140 
141 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_DEFINED_
142 #define KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_DEFINED_
143 
149 #endif
150 
151 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DESTROY_DEFINED_
152 #define KIM_MODEL_COMPUTE_ARGUMENTS_DESTROY_DEFINED_
153 
160 #endif
161 
162 
163 #ifndef KIM_MODEL_EXTENSION_DEFINED_
164 #define KIM_MODEL_EXTENSION_DEFINED_
165 
174 #endif
175 
185  KIM_ModelExtension const * const modelExtension,
186  char const ** const extensionID);
187 
195 KIM_Model *
196 KIM_ModelExtension_ToModel(KIM_ModelExtension * const modelExtension);
197 
208 
219 
230 
240  KIM_ModelExtension * const modelExtension);
241 
252 
263  KIM_ModelExtension * const modelExtension);
264 
274  KIM_ModelExtension const * const modelExtension,
275  KIM_ComputeArguments * const computeArguments);
277 
287  KIM_ModelExtension const * const modelExtension,
288  KIM_ComputeArguments * const computeArguments);
289 
300  KIM_ModelExtension const * const modelExtension,
301  KIM_ComputeArguments * const computeArguments);
302 
312  KIM_ModelExtension const * const modelCompute, void ** const ptr);
313 
322 void KIM_ModelExtension_LogEntry(KIM_ModelExtension const * const modelCompute,
323  KIM_LogVerbosity const logVerbosity,
324  char const * const message,
325  int const lineNumber,
326  char const * const fileName);
327 
336 char const *
337 KIM_ModelExtension_ToString(KIM_ModelExtension const * const modelCompute);
338 
339 #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...
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_ModelCompute * KIM_ModelExtension_ToModelCompute(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelCompute interface.
struct KIM_ModelExtension KIM_ModelExtension
Forward declaration.
struct KIM_ModelCompute KIM_ModelCompute
Forward declaration.
struct KIM_ModelComputeArgumentsCreate KIM_ModelComputeArgumentsCreate
Forward declaration.
struct KIM_ModelDestroy KIM_ModelDestroy
Forward declaration.
KIM_ModelWriteParameterizedModel * KIM_ModelExtension_ToModelWriteParameterizedModel(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelWriteParameterizedModel interface...
KIM_ModelRefresh * KIM_ModelExtension_ToModelRefresh(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelRefresh interface.
struct KIM_ModelCreate KIM_ModelCreate
Forward declaration.
KIM_ModelDriverCreate * KIM_ModelExtension_ToModelDriverCreate(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a ModelDriverCreate interface.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
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...
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.
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...
struct KIM_ModelComputeArgumentsDestroy KIM_ModelComputeArgumentsDestroy
Forward declaration.
struct KIM_ModelRefresh KIM_ModelRefresh
Forward declaration.
void KIM_ModelExtension_GetExtensionID(KIM_ModelExtension const *const modelExtension, char const **const extensionID)
Get the extension identification string.
void KIM_ModelExtension_GetModelBufferPointer(KIM_ModelExtension const *const modelCompute, void **const ptr)
Get the Model's buffer pointer within the Model object.
struct KIM_ModelWriteParameterizedModel KIM_ModelWriteParameterizedModel
Forward declaration.
KIM_Model * KIM_ModelExtension_ToModel(KIM_ModelExtension *const modelExtension)
Convert the ModelExtension interface to the Model object to a Model interface.
struct KIM_ModelDriverCreate KIM_ModelDriverCreate
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:160
struct KIM_ModelComputeArguments KIM_ModelComputeArguments
Forward declaration.
char const * KIM_ModelExtension_ToString(KIM_ModelExtension const *const modelCompute)
Get a string representing the internal state of the Model object.