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_ModelComputeArguments.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_MODEL_COMPUTE_ARGUMENTS_H_
32 #define KIM_MODEL_COMPUTE_ARGUMENTS_H_
33 
34 /* Forward declarations */
35 #ifndef KIM_LOG_VERBOSITY_DEFINED_
36 #define KIM_LOG_VERBOSITY_DEFINED_
37 
43 #endif
44 
45 #ifndef KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
46 #define KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
47 
53 #endif
54 
55 #ifndef KIM_COMPUTE_CALLBACK_NAME_DEFINED_
56 #define KIM_COMPUTE_CALLBACK_NAME_DEFINED_
57 
63 #endif
64 
65 
66 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
67 #define KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_
68 
77 #endif
78 
88  KIM_ModelComputeArguments const * const modelComputeArguments,
89  int const neighborListIndex,
90  int const particleNumber,
91  int * const numberOfNeighbors,
92  int const ** const neighborsOfParticle);
93 
103  KIM_ModelComputeArguments const * const modelComputeArguments,
104  double const de,
105  double const r,
106  double const * const dx,
107  int const i,
108  int const j);
109 
119  KIM_ModelComputeArguments const * const modelComputeArguments,
120  double const de,
121  double const * const r,
122  double const * const dx,
123  int const * const i,
124  int const * const j);
125 
135  KIM_ModelComputeArguments const * const modelComputeArguments,
136  KIM_ComputeArgumentName const computeArgumentName,
137  int ** const ptr);
138 
148  KIM_ModelComputeArguments const * const modelComputeArguments,
149  KIM_ComputeArgumentName const computeArgumentName,
150  double ** const ptr);
151 
161  KIM_ModelComputeArguments const * const modelComputeArguments,
162  KIM_ComputeCallbackName const computeCallbackName,
163  int * const present);
164 
174  KIM_ModelComputeArguments * const modelComputeArguments, void * const ptr);
175 
185  KIM_ModelComputeArguments const * const modelComputeArguments,
186  void ** const ptr);
187 
197  KIM_ModelComputeArguments const * const modelComputeArguments,
198  KIM_LogVerbosity const logVerbosity,
199  char const * const message,
200  int const lineNumber,
201  char const * const fileName);
202 
212  KIM_ModelComputeArguments const * const modelComputeArguments);
213 
214 #endif /* KIM_MODEL_COMPUTE_ARGUMENTS_H_ */
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API. ...
void KIM_ModelComputeArguments_LogEntry(KIM_ModelComputeArguments const *const modelComputeArguments, 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_ModelComputeArguments_GetArgumentPointerDouble(KIM_ModelComputeArguments const *const modelComputeArguments, KIM_ComputeArgumentName const computeArgumentName, double **const ptr)
Get the data pointer for a ComputeArgumentName.
int KIM_ModelComputeArguments_ProcessD2EDr2Term(KIM_ModelComputeArguments const *const modelComputeArguments, double const de, double const *const r, double const *const dx, int const *const i, int const *const j)
Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessD2EDr2Term routine.
int KIM_ModelComputeArguments_IsCallbackPresent(KIM_ModelComputeArguments const *const modelComputeArguments, KIM_ComputeCallbackName const computeCallbackName, int *const present)
Determine if the Simulator has provided a non-NULL function pointer for a ComputeCallbackName of inte...
void KIM_ModelComputeArguments_GetModelBufferPointer(KIM_ModelComputeArguments const *const modelComputeArguments, void **const ptr)
Get the Model's buffer pointer within the ComputeArguments object.
char const * KIM_ModelComputeArguments_ToString(KIM_ModelComputeArguments const *const modelComputeArguments)
Get a string representing the internal state of the ComputeArguments object.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
An Extensible Enumeration for the ComputeCallbackName's supported by the KIM API. ...
int KIM_ModelComputeArguments_GetNeighborList(KIM_ModelComputeArguments const *const modelComputeArguments, int const neighborListIndex, int const particleNumber, int *const numberOfNeighbors, int const **const neighborsOfParticle)
Get the neighbor list for a particle of interest corresponding to a particular neighbor list cutoff d...
void KIM_ModelComputeArguments_SetModelBufferPointer(KIM_ModelComputeArguments *const modelComputeArguments, void *const ptr)
Set the Model's buffer pointer within the ComputeArguments object.
int KIM_ModelComputeArguments_ProcessDEDrTerm(KIM_ModelComputeArguments const *const modelComputeArguments, double const de, double const r, double const *const dx, int const i, int const j)
Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessDEDrTerm routine.
struct KIM_ModelComputeArguments KIM_ModelComputeArguments
Forward declaration.
int KIM_ModelComputeArguments_GetArgumentPointerInteger(KIM_ModelComputeArguments const *const modelComputeArguments, KIM_ComputeArgumentName const computeArgumentName, int **const ptr)
Get the data pointer for a ComputeArgumentName.