PhreeqcRM
BMI_interface_C.h
Go to the documentation of this file.
1#ifdef SKIP
5#if !defined(BMI_INTERFACE_C_H_INCLUDED)
6#define BMI_INTERFACE_C_H_INCLUDED
7#include "IrmResult.h"
8#include "irm_dll_export.h"
9
10#if defined(__cplusplus)
11extern "C" {
12#endif
79 IRM_DLL_EXPORT IRM_RESULT BMI_AddOutputVars(int id, char* option, char* def);
109 IRM_DLL_EXPORT int BMI_Create(int nxyz, int nthreads);
110 //IRM_DLL_EXPORT int BMI_Create_default();
128 IRM_DLL_EXPORT IRM_RESULT BMI_Destroy(int id);
146 IRM_DLL_EXPORT IRM_RESULT BMI_Finalize(int id);
164 IRM_DLL_EXPORT IRM_RESULT BMI_GetComponentName(int id, char* component_name, int l);
184 IRM_DLL_EXPORT double BMI_GetCurrentTime(int id);
204 IRM_DLL_EXPORT double BMI_GetEndTime(int id);
225 IRM_DLL_EXPORT int BMI_GetGridRank(int id, int grid);
245 IRM_DLL_EXPORT int BMI_GetGridSize(int id, int grid);
268 IRM_DLL_EXPORT IRM_RESULT BMI_GetGridType(int id, int grid, char* str, int l);
291 IRM_DLL_EXPORT int BMI_GetInputItemCount(int id);
292 //IRM_DLL_EXPORT int BMI_GetInputVarNamesSize(int id);
319 IRM_DLL_EXPORT IRM_RESULT BMI_GetInputVarName(int id, int i, char* name, int l);
320 //IRM_DLL_EXPORT int BMI_GetNames(int id, const char* type, char* dest);
321 //IRM_DLL_EXPORT int BMI_GetNamesSize(int id, const char* type, int* dest);
344 IRM_DLL_EXPORT int BMI_GetOutputItemCount(int id);
345 //IRM_DLL_EXPORT int BMI_GetOutputVarNamesSize(int id);
372 IRM_DLL_EXPORT IRM_RESULT BMI_GetOutputVarName(int id, int i, char* name, int l);
396 IRM_DLL_EXPORT int BMI_GetPointableItemCount(int id);
397 //IRM_DLL_EXPORT int BMI_GetPointableVarNamesSize(int id);
425 IRM_DLL_EXPORT IRM_RESULT BMI_GetPointableVarName(int id, int i, char* name, int l);
432 IRM_DLL_EXPORT double BMI_GetStartTime(int id);
439 IRM_DLL_EXPORT double BMI_GetTime(int id);
459 IRM_DLL_EXPORT double BMI_GetTimeStep(int id);
483 IRM_DLL_EXPORT IRM_RESULT BMI_GetTimeUnits(int id, char* units, int l);
484 // GetValue
520 IRM_DLL_EXPORT IRM_RESULT BMI_GetValueInt(int id, char* var, int* dest);
568 IRM_DLL_EXPORT IRM_RESULT BMI_GetValueDouble(int id, char* var, double* dest);
615 IRM_DLL_EXPORT IRM_RESULT BMI_GetValueChar(int id, char* var, char* dest, int l);
616 // GetValuePtr
617 //IRM_DLL_EXPORT IRM_RESULT BMI_GetValuePtrInt(int id, char* var, int** dest);
618 //IRM_DLL_EXPORT IRM_RESULT BMI_GetValuePtrDouble(int id, char* var, double** dest);
619 //IRM_DLL_EXPORT IRM_RESULT BMI_GetValuePtrChar(int id, char* var, char** dest);
647 IRM_DLL_EXPORT void* BMI_GetValuePtr(int id, char* var);
658 IRM_DLL_EXPORT int BMI_GetVarGrid(int id, char* var);
694 IRM_DLL_EXPORT int BMI_GetVarItemsize(int id, char* name);
729 IRM_DLL_EXPORT int BMI_GetVarNbytes(int id, char* name);
767 IRM_DLL_EXPORT IRM_RESULT BMI_GetVarType(int id, char* name, char* vtype, int l);
803 IRM_DLL_EXPORT IRM_RESULT BMI_GetVarUnits(int id, char* name, char* units, int l);
925 IRM_DLL_EXPORT IRM_RESULT BMI_Initialize(int id, char* config_file);
926 //
927 // SetValue methods
928 //
958 IRM_DLL_EXPORT IRM_RESULT BMI_SetValueChar(int id, char* name, const char* src);
989 IRM_DLL_EXPORT IRM_RESULT BMI_SetValueDouble(int id, char* name, double src);
1026 IRM_DLL_EXPORT IRM_RESULT BMI_SetValueDoubleArray(int id, char* name, double* src);
1057 IRM_DLL_EXPORT IRM_RESULT BMI_SetValueInt(int id, char* name, int src);
1058#ifdef SKIP
1100 IRM_DLL_EXPORT IRM_RESULT BMI_SetValueIntArray(int id, char* name, int* src);
1101#endif
1139 IRM_DLL_EXPORT IRM_RESULT BMI_Update(int id);
1163 IRM_DLL_EXPORT IRM_RESULT BMI_UpdateUntil(int id, double end_time);
1167 IRM_DLL_EXPORT void BMI_GetValueAtIndices(int id, char* name, void* dest, int* inds, int count);
1171 IRM_DLL_EXPORT void BMI_SetValueAtIndices(int id, char* name, int* inds, int count, void* src);
1175 IRM_DLL_EXPORT void BMI_GetGridShape(int id, const int grid, int* shape);
1179 IRM_DLL_EXPORT void BMI_GetGridSpacing(int id, const int grid, double* spacing);
1183 IRM_DLL_EXPORT void BMI_GetGridOrigin(int id, const int grid, double* origin);
1187 IRM_DLL_EXPORT void BMI_GetGridX(int id, const int grid, double* x);
1191 IRM_DLL_EXPORT void BMI_GetGridY(int id, const int grid, double* y);
1195 IRM_DLL_EXPORT void BMI_GetGridZ(int id, const int grid, double* z);
1199 IRM_DLL_EXPORT int BMI_GetGridNodeCount(int id, const int grid);
1203 IRM_DLL_EXPORT int BMI_GetGridEdgeCount(int id, const int grid);
1207 IRM_DLL_EXPORT int BMI_GetGridFaceCount(int id, const int grid);
1211 IRM_DLL_EXPORT void BMI_GetGridEdgeNodes(int id, const int grid, int* edge_nodes);
1215 IRM_DLL_EXPORT void BMI_GetGridFaceEdges(int id, const int grid, int* face_edges);
1219 IRM_DLL_EXPORT void BMI_GetGridFaceNodes(int id, const int grid, int* face_nodes);
1223 IRM_DLL_EXPORT void BMI_GetGridNodesPerFace(int id, const int grid, int* nodes_per_face);
1224#endif // SKIP
1225#if defined(__cplusplus)
1226}
1227
1228#endif // BMI_INTERFACE_C_H_INCLUDED
1229
1230#endif // SKIP
Enumeration used to return error codes.
IRM_RESULT
Enumeration for PhreeqcRM function return codes.
Definition IrmResult.h:8