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--2020, 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.2.1 package. */ 33 /* */ 34 35 36 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_H_ 37 #define KIM_MODEL_COMPUTE_ARGUMENTS_H_ 38 39 /* Forward declarations */ 40 #ifndef KIM_LOG_VERBOSITY_DEFINED_ 41 #define KIM_LOG_VERBOSITY_DEFINED_ 42 /** 43 ** \brief Forward declaration. 44 ** 45 ** \since 2.0 46 **/ 47 typedef struct KIM_LogVerbosity KIM_LogVerbosity; 48 #endif 49 50 #ifndef KIM_COMPUTE_ARGUMENT_NAME_DEFINED_ 51 #define KIM_COMPUTE_ARGUMENT_NAME_DEFINED_ 52 /** 53 ** \brief Forward declaration. 54 ** 55 ** \since 2.0 56 **/ 57 typedef struct KIM_ComputeArgumentName KIM_ComputeArgumentName; 58 #endif 59 60 #ifndef KIM_COMPUTE_CALLBACK_NAME_DEFINED_ 61 #define KIM_COMPUTE_CALLBACK_NAME_DEFINED_ 62 /** 63 ** \brief Forward declaration. 64 ** 65 ** \since 2.0 66 **/ 67 typedef struct KIM_ComputeCallbackName KIM_ComputeCallbackName; 68 #endif 69 70 71 #ifndef KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_ 72 #define KIM_MODEL_COMPUTE_ARGUMENTS_DEFINED_ 73 /** 74 ** \brief \copybrief KIM::ModelComputeArguments 75 ** 76 ** \sa KIM::ModelComputeArguments, 77 ** kim_model_compute_arguments_module::kim_model_compute_arguments_handle_type 78 ** 79 ** \since 2.0 80 **/ 81 typedef struct KIM_ModelComputeArguments KIM_ModelComputeArguments; 82 #endif 83 84 /** 85 ** \brief \copybrief KIM::ModelComputeArguments::GetNeighborList 86 ** 87 ** \sa KIM::ModelComputeArguments::GetNeighborList, 88 ** kim_model_compute_arguments_module::kim_get_neighbor_list 89 ** 90 ** \since 2.0 91 **/ 92 int KIM_ModelComputeArguments_GetNeighborList( 93 KIM_ModelComputeArguments const * const modelComputeArguments, 94 int const neighborListIndex, 95 int const particleNumber, 96 int * const numberOfNeighbors, 97 int const ** const neighborsOfParticle); 98 99 /** 100 ** \brief \copybrief KIM::ModelComputeArguments::ProcessDEDrTerm 101 ** 102 ** \sa KIM::ModelComputeArguments::ProcessDEDrTerm, 103 ** kim_model_compute_arguments_module::kim_process_dedr_term 104 ** 105 ** \since 2.0 106 **/ 107 int KIM_ModelComputeArguments_ProcessDEDrTerm( 108 KIM_ModelComputeArguments const * const modelComputeArguments, 109 double const de, 110 double const r, 111 double const * const dx, 112 int const i, 113 int const j); 114 115 /** 116 ** \brief \copybrief KIM::ModelComputeArguments::ProcessD2EDr2Term 117 ** 118 ** \sa KIM::ModelComputeArguments::ProcessD2EDr2Term, 119 ** kim_model_compute_arguments_module::kim_process_d2edr2_term 120 ** 121 ** \since 2.0 122 **/ 123 int KIM_ModelComputeArguments_ProcessD2EDr2Term( 124 KIM_ModelComputeArguments const * const modelComputeArguments, 125 double const de, 126 double const * const r, 127 double const * const dx, 128 int const * const i, 129 int const * const j); 130 131 /** 132 ** \brief \copybrief KIM::ModelComputeArguments::GetArgumentPointer 133 ** 134 ** \sa KIM::ModelComputeArguments::GetArgumentPointer, 135 ** kim_model_compute_arguments_module::kim_get_argument_pointer 136 ** 137 ** \since 2.0 138 **/ 139 int KIM_ModelComputeArguments_GetArgumentPointerInteger( 140 KIM_ModelComputeArguments const * const modelComputeArguments, 141 KIM_ComputeArgumentName const computeArgumentName, 142 int ** const ptr); 143 144 /** 145 ** \brief \copybrief KIM::ModelComputeArguments::GetArgumentPointer 146 ** 147 ** \sa KIM::ModelComputeArguments::GetArgumentPointer, 148 ** kim_model_compute_arguments_module::kim_get_argument_pointer 149 ** 150 ** \since 2.0 151 **/ 152 int KIM_ModelComputeArguments_GetArgumentPointerDouble( 153 KIM_ModelComputeArguments const * const modelComputeArguments, 154 KIM_ComputeArgumentName const computeArgumentName, 155 double ** const ptr); 156 157 /** 158 ** \brief \copybrief KIM::ModelComputeArguments::IsCallbackPresent 159 ** 160 ** \sa KIM::ModelComputeArguments::IsCallbackPresent, 161 ** kim_model_compute_arguments_module::kim_is_callback_present 162 ** 163 ** \since 2.0 164 **/ 165 int KIM_ModelComputeArguments_IsCallbackPresent( 166 KIM_ModelComputeArguments const * const modelComputeArguments, 167 KIM_ComputeCallbackName const computeCallbackName, 168 int * const present); 169 170 /** 171 ** \brief \copybrief KIM::ModelComputeArguments::SetModelBufferPointer 172 ** 173 ** \sa KIM::ModelComputeArguments::SetModelBufferPointer, 174 ** kim_model_compute_arguments_module::kim_set_model_buffer_pointer 175 ** 176 ** \since 2.0 177 **/ 178 void KIM_ModelComputeArguments_SetModelBufferPointer( 179 KIM_ModelComputeArguments * const modelComputeArguments, void * const ptr); 180 181 /** 182 ** \brief \copybrief KIM::ModelComputeArguments::GetModelBufferPointer 183 ** 184 ** \sa KIM::ModelComputeArguments::GetModelBufferPointer, 185 ** kim_model_compute_arguments_module::kim_get_model_buffer_pointer 186 ** 187 ** \since 2.0 188 **/ 189 void KIM_ModelComputeArguments_GetModelBufferPointer( 190 KIM_ModelComputeArguments const * const modelComputeArguments, 191 void ** const ptr); 192 193 /** 194 ** \brief \copybrief KIM::ModelComputeArguments::LogEntry 195 ** 196 ** \sa KIM::ModelComputeArguments::LogEntry, 197 ** kim_model_compute_arguments_module::kim_log_entry 198 ** 199 ** \since 2.0 200 **/ 201 void KIM_ModelComputeArguments_LogEntry( 202 KIM_ModelComputeArguments const * const modelComputeArguments, 203 KIM_LogVerbosity const logVerbosity, 204 char const * const message, 205 int const lineNumber, 206 char const * const fileName); 207 208 /** 209 ** \brief \copybrief KIM::ModelComputeArguments::ToString 210 ** 211 ** \sa KIM::ModelComputeArguments::ToString, 212 ** kim_model_compute_arguments_module::kim_to_string 213 ** 214 ** \since 2.0 215 **/ 216 char const * KIM_ModelComputeArguments_ToString( 217 KIM_ModelComputeArguments const * const modelComputeArguments); 218 219 #endif /* KIM_MODEL_COMPUTE_ARGUMENTS_H_ */ 220