PhreeqcRM
RM_interface_C.h
Go to the documentation of this file.
1
6#ifdef USE_MPI
7#include "mpi.h"
8#define MP_TYPE MPI_Comm
9#else
10#define MP_TYPE int
11#endif
12
13#include "IrmResult.h"
14#ifndef RM_INTERFACE_C_H
15#define RM_INTERFACE_C_H
16
17#include "irm_dll_export.h"
18
19#if defined(__cplusplus)
20extern "C" {
21#endif
53 IRM_DLL_EXPORT int RM_BmiCreate(int nxyz, MP_TYPE nthreads);
71 IRM_DLL_EXPORT IRM_RESULT RM_BmiDestroy(int id);
138 IRM_DLL_EXPORT IRM_RESULT RM_BmiAddOutputVars(int id, char* option, char* def);
156 IRM_DLL_EXPORT IRM_RESULT RM_BmiFinalize(int id);
174 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetComponentName(int id, char* component_name, int l);
194 IRM_DLL_EXPORT double RM_BmiGetCurrentTime(int id);
214 IRM_DLL_EXPORT double RM_BmiGetEndTime(int id);
235 IRM_DLL_EXPORT int RM_BmiGetGridRank(int id, int grid);
255 IRM_DLL_EXPORT int RM_BmiGetGridSize(int id, int grid);
278 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetGridType(int id, int grid, char* str, int l);
301 IRM_DLL_EXPORT int RM_BmiGetInputItemCount(int id);
302 //IRM_DLL_EXPORT int RM_BmiGetInputVarNamesSize(int id);
329 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetInputVarName(int id, int i, char* name, int l);
330 //IRM_DLL_EXPORT int RM_BmiGetNames(int id, const char* type, char* dest);
331 //IRM_DLL_EXPORT int RM_BmiGetNamesSize(int id, const char* type, int* dest);
354 IRM_DLL_EXPORT int RM_BmiGetOutputItemCount(int id);
355 //IRM_DLL_EXPORT int RM_BmiGetOutputVarNamesSize(int id);
382 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetOutputVarName(int id, int i, char* name, int l);
406 IRM_DLL_EXPORT int RM_BmiGetPointableItemCount(int id);
407 //IRM_DLL_EXPORT int RM_BmiGetPointableVarNamesSize(int id);
435 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetPointableVarName(int id, int i, char* name, int l);
442 IRM_DLL_EXPORT double RM_BmiGetStartTime(int id);
449 IRM_DLL_EXPORT double RM_BmiGetTime(int id);
469 IRM_DLL_EXPORT double RM_BmiGetTimeStep(int id);
493 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetTimeUnits(int id, char* units, int l);
494 // GetValue
530 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueInt(int id, char* var, int* dest);
578 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueDouble(int id, char* var, double* dest);
625 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueChar(int id, char* var, char* dest, int l);
626 // GetValuePtr
627 //IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValuePtrInt(int id, char* var, int** dest);
628 //IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValuePtrDouble(int id, char* var, double** dest);
629 //IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValuePtrChar(int id, char* var, char** dest);
657 IRM_DLL_EXPORT void* RM_BmiGetValuePtr(int id, char* var);
668 IRM_DLL_EXPORT int RM_BmiGetVarGrid(int id, char* var);
704 IRM_DLL_EXPORT int RM_BmiGetVarItemsize(int id, char* name);
739 IRM_DLL_EXPORT int RM_BmiGetVarNbytes(int id, char* name);
777 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetVarType(int id, char* name, char* vtype, int l);
813 IRM_DLL_EXPORT IRM_RESULT RM_BmiGetVarUnits(int id, char* name, char* units, int l);
935 IRM_DLL_EXPORT IRM_RESULT RM_BmiInitialize(int id, char* config_file);
936 //
937 // SetValue methods
938 //
968 IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueChar(int id, char* name, const char* src);
999 IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueDouble(int id, char* name, double src);
1036 IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueDoubleArray(int id, char* name, double* src);
1067 IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueInt(int id, char* name, int src);
1068#ifdef SKIP
1110 IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueIntArray(int id, char* name, int* src);
1111#endif
1149 IRM_DLL_EXPORT IRM_RESULT RM_BmiUpdate(int id);
1173 IRM_DLL_EXPORT IRM_RESULT RM_BmiUpdateUntil(int id, double end_time);
1177 IRM_DLL_EXPORT void RM_BmiGetValueAtIndices(int id, char* name, void* dest, int* inds, int count);
1181 IRM_DLL_EXPORT void RM_BmiSetValueAtIndices(int id, char* name, int* inds, int count, void* src);
1185 IRM_DLL_EXPORT void RM_BmiGetGridShape(int id, const int grid, int* shape);
1189 IRM_DLL_EXPORT void RM_BmiGetGridSpacing(int id, const int grid, double* spacing);
1193 IRM_DLL_EXPORT void RM_BmiGetGridOrigin(int id, const int grid, double* origin);
1197 IRM_DLL_EXPORT void RM_BmiGetGridX(int id, const int grid, double* x);
1201 IRM_DLL_EXPORT void RM_BmiGetGridY(int id, const int grid, double* y);
1205 IRM_DLL_EXPORT void RM_BmiGetGridZ(int id, const int grid, double* z);
1209 IRM_DLL_EXPORT int RM_BmiGetGridNodeCount(int id, const int grid);
1213 IRM_DLL_EXPORT int RM_BmiGetGridEdgeCount(int id, const int grid);
1217 IRM_DLL_EXPORT int RM_BmiGetGridFaceCount(int id, const int grid);
1221 IRM_DLL_EXPORT void RM_BmiGetGridEdgeNodes(int id, const int grid, int* edge_nodes);
1225 IRM_DLL_EXPORT void RM_BmiGetGridFaceEdges(int id, const int grid, int* face_edges);
1229 IRM_DLL_EXPORT void RM_BmiGetGridFaceNodes(int id, const int grid, int* face_nodes);
1233 IRM_DLL_EXPORT void RM_BmiGetGridNodesPerFace(int id, const int grid, int* nodes_per_face);
1234
1235
1236
1237
1265IRM_DLL_EXPORT IRM_RESULT RM_Abort(int id, int result, const char * err_str);
1284IRM_DLL_EXPORT IRM_RESULT RM_CloseFiles(int id);
1325IRM_DLL_EXPORT int RM_Concentrations2Utility(int id, double *c, int n, double *tc, double *p_atm);
1371#ifdef USE_MPI
1372IRM_DLL_EXPORT int RM_Create(int nxyz, MPI_Comm comm);
1373#else
1374IRM_DLL_EXPORT int RM_Create(int nxyz, int nthreads);
1375#endif
1407IRM_DLL_EXPORT IRM_RESULT RM_CreateMapping (int id, int *grid2chem);
1442IRM_DLL_EXPORT IRM_RESULT RM_DecodeError (int id, int e);
1460IRM_DLL_EXPORT IRM_RESULT RM_Destroy(int id);
1483IRM_DLL_EXPORT IRM_RESULT RM_DumpModule(int id, int dump_on, int append);
1507IRM_DLL_EXPORT IRM_RESULT RM_ErrorMessage(int id, const char *errstr);
1580IRM_DLL_EXPORT int RM_FindComponents(int id);
1614IRM_DLL_EXPORT IRM_RESULT RM_GetBackwardMapping(int id, int n, int *list, int *size);
1636IRM_DLL_EXPORT int RM_GetChemistryCellCount(int id);
1665IRM_DLL_EXPORT IRM_RESULT RM_GetComponent(int id, int num, char *chem_name, int l);
1686IRM_DLL_EXPORT int RM_GetComponentCount(int id);
1687
1736IRM_DLL_EXPORT IRM_RESULT RM_GetConcentrations(int id, double *c);
1766IRM_DLL_EXPORT IRM_RESULT RM_GetIthConcentration(int id, int i, double* c);
1799IRM_DLL_EXPORT IRM_RESULT RM_GetIthSpeciesConcentration(int id, int i, double* c);
1832IRM_DLL_EXPORT IRM_RESULT RM_SetIthConcentration(int id, int i, double* c);
1868IRM_DLL_EXPORT IRM_RESULT RM_SetIthSpeciesConcentration(int id, int i, double* c);
1869
1906IRM_DLL_EXPORT int RM_GetCurrentSelectedOutputUserNumber(int id);
1907
1933IRM_DLL_EXPORT IRM_RESULT RM_GetDensityCalculated(int id, double *density);
1937IRM_DLL_EXPORT IRM_RESULT RM_GetDensity(int id, double* density);
1938
1939
1964IRM_DLL_EXPORT IRM_RESULT RM_GetEndCell(int id, int *ec);
1992IRM_DLL_EXPORT int RM_GetEquilibriumPhasesCount(int id);
2024IRM_DLL_EXPORT IRM_RESULT RM_GetEquilibriumPhasesName(int id, int num, char *name, int l1);
2054IRM_DLL_EXPORT IRM_RESULT RM_GetErrorString(int id, char *errstr, int l);
2079IRM_DLL_EXPORT int RM_GetErrorStringLength(int id);
2112IRM_DLL_EXPORT IRM_RESULT RM_GetExchangeName(int id, int num, char *name, int l1);
2140IRM_DLL_EXPORT int RM_GetExchangeSpeciesCount(int id);
2174IRM_DLL_EXPORT IRM_RESULT RM_GetExchangeSpeciesName(int id, int num, char *name, int l1);
2199IRM_DLL_EXPORT IRM_RESULT RM_GetFilePrefix(int id, char *prefix, int l);
2227IRM_DLL_EXPORT int RM_GetGasComponentsCount(int id);
2259IRM_DLL_EXPORT IRM_RESULT RM_GetGasComponentsName(int id, int num, char *name, int l1);
2296IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompMoles(int id, double* gas_moles);
2333IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompPressures(int id, double* gas_pressure);
2371IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompPhi(int id, double* gas_phi);
2406IRM_DLL_EXPORT IRM_RESULT RM_GetGasPhaseVolume(int id, double* gas_volume);
2438IRM_DLL_EXPORT IRM_RESULT RM_GetGfw(int id, double * gfw);
2462IRM_DLL_EXPORT int RM_GetGridCellCount(int id);
2463
2464#ifdef USE_YAML
2491IRM_DLL_EXPORT int RM_GetGridCellCountYAML(const char* config_file);
2492#endif
2526IRM_DLL_EXPORT int RM_GetIPhreeqcId(int id, int i);
2554IRM_DLL_EXPORT int RM_GetKineticReactionsCount(int id);
2586IRM_DLL_EXPORT IRM_RESULT RM_GetKineticReactionsName(int id, int num, char *name, int l1);
2611IRM_DLL_EXPORT int RM_GetMpiMyself(int id);
2640IRM_DLL_EXPORT int RM_GetMpiTasks(int id);
2686IRM_DLL_EXPORT int RM_GetNthSelectedOutputUserNumber(int id, int n);
2708IRM_DLL_EXPORT IRM_RESULT RM_GetPorosity(int id, double* porosity);
2731IRM_DLL_EXPORT IRM_RESULT RM_GetPressure(int id, double* pressure);
2732
2772IRM_DLL_EXPORT IRM_RESULT RM_GetSaturationCalculated(int id, double *sat_calc);
2776IRM_DLL_EXPORT IRM_RESULT RM_GetSaturation(int id, double* sat_calc);
2777
2816IRM_DLL_EXPORT IRM_RESULT RM_GetSelectedOutput(int id, double *so);
2817
2853IRM_DLL_EXPORT int RM_GetSelectedOutputColumnCount(int id);
2889IRM_DLL_EXPORT int RM_GetSelectedOutputCount(int id);
2931IRM_DLL_EXPORT IRM_RESULT RM_GetSelectedOutputHeading(int id, int icol, char * heading, int length);
2978IRM_DLL_EXPORT int RM_GetSelectedOutputRowCount(int id);
3007IRM_DLL_EXPORT int RM_GetSICount(int id);
3041IRM_DLL_EXPORT IRM_RESULT RM_GetSIName(int id, int num, char *name, int l1);
3042
3070IRM_DLL_EXPORT int RM_GetSolidSolutionComponentsCount(int id);
3103IRM_DLL_EXPORT IRM_RESULT RM_GetSolidSolutionComponentsName(int id, int num, char *name, int l1);
3138IRM_DLL_EXPORT IRM_RESULT RM_GetSolidSolutionName(int id, int num, char *name, int l1);
3139
3167IRM_DLL_EXPORT IRM_RESULT RM_GetSolutionVolume(int id, double *vol);
3217IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesConcentrations(int id, double *species_conc);
3257IRM_DLL_EXPORT int RM_GetSpeciesCount(int id);
3298IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesD25(int id, double *diffc);
3343IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesLog10Gammas(int id, double *species_log10gammas);
3387IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesLog10Molalities(int id, double* species_log10molalities);
3433IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesName(int id, int i, char * name, int length);
3474IRM_DLL_EXPORT int RM_GetSpeciesSaveOn(int id);
3512IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesZ(int id, double *z);
3513
3538IRM_DLL_EXPORT IRM_RESULT RM_GetStartCell(int id, int *sc);
3564IRM_DLL_EXPORT IRM_RESULT RM_GetTemperature(int id, double* temperature);
3597IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceName(int id, int num, char *name, int l1);
3625IRM_DLL_EXPORT int RM_GetSurfaceSpeciesCount(int id);
3659IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceSpeciesName(int id, int num, char *name, int l1);
3692IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceType(int id, int num, char *name, int l1);
3713IRM_DLL_EXPORT int RM_GetThreadCount(int id);
3738IRM_DLL_EXPORT double RM_GetTime(int id);
3766IRM_DLL_EXPORT double RM_GetTimeConversion(int id);
3793IRM_DLL_EXPORT double RM_GetTimeStep(int id);
3813IRM_DLL_EXPORT IRM_RESULT RM_GetViscosity(int id, double* viscosity);
3814#ifdef USE_YAML
3930IRM_DLL_EXPORT IRM_RESULT RM_InitializeYAML(int id, const char* yamlfile);
3931#endif
3983 int id,
3984 double *c,
3985 int n_boundary,
3986 int *boundary_solution1,
3987 int *boundary_solution2,
3988 double *fraction1);
4025IRM_DLL_EXPORT IRM_RESULT RM_InitialSolutions2Module(int id, int* solutions);
4062IRM_DLL_EXPORT IRM_RESULT RM_InitialEquilibriumPhases2Module(int id, int* equilibrium_phases);
4099IRM_DLL_EXPORT IRM_RESULT RM_InitialExchanges2Module(int id, int* exchanges);
4136IRM_DLL_EXPORT IRM_RESULT RM_InitialSurfaces2Module(int id, int* surfaces);
4173IRM_DLL_EXPORT IRM_RESULT RM_InitialGasPhases2Module(int id, int* gas_phases);
4210IRM_DLL_EXPORT IRM_RESULT RM_InitialSolidSolutions2Module(int id, int* solid_solutions);
4247IRM_DLL_EXPORT IRM_RESULT RM_InitialKinetics2Module(int id, int* kinetics);
4328 int *initial_conditions1, // 7 x nxyz end-member 1
4329 int *initial_conditions2, // 7 x nxyz end-member 2
4330 double *fraction1); // 7 x nxyz fraction of end-member 1
4331
4387 int id,
4388 double *species_c,
4389 int n_boundary,
4390 int *boundary_solution1,
4391 int *boundary_solution2,
4392 double *fraction1);
4425 int n, // InitialPhreeqc cell number
4426 int *module_numbers, // Module cell numbers
4427 int dim_module_numbers); // Number of module cell numbers
4428
4449IRM_DLL_EXPORT IRM_RESULT RM_LoadDatabase(int id, const char *db_name);
4475IRM_DLL_EXPORT IRM_RESULT RM_LogMessage(int id, const char *str);
4512IRM_DLL_EXPORT IRM_RESULT RM_MpiWorker(int id);
4538IRM_DLL_EXPORT IRM_RESULT RM_MpiWorkerBreak(int id);
4564IRM_DLL_EXPORT IRM_RESULT RM_OpenFiles(int id);
4600IRM_DLL_EXPORT IRM_RESULT RM_OutputMessage(int id, const char *str);
4637IRM_DLL_EXPORT IRM_RESULT RM_RunCells(int id);
4664IRM_DLL_EXPORT IRM_RESULT RM_RunFile(int id, int workers, int initial_phreeqc, int utility, const char *chem_name);
4693IRM_DLL_EXPORT IRM_RESULT RM_RunString(int id, int workers, int initial_phreeqc, int utility, const char * input_string);
4717IRM_DLL_EXPORT IRM_RESULT RM_ScreenMessage(int id, const char *str);
4748IRM_DLL_EXPORT IRM_RESULT RM_SetComponentH2O(int id, int tf);
4794IRM_DLL_EXPORT IRM_RESULT RM_SetConcentrations(int id, double *c);
4833IRM_DLL_EXPORT IRM_RESULT RM_SetCurrentSelectedOutputUserNumber(int id, int n_user);
4867IRM_DLL_EXPORT IRM_RESULT RM_SetDensityUser(int id, double *density);
4871IRM_DLL_EXPORT IRM_RESULT RM_SetDensity(int id, double* density);
4872
4894IRM_DLL_EXPORT IRM_RESULT RM_SetDumpFileName(int id, const char *dump_name);
4915IRM_DLL_EXPORT IRM_RESULT RM_SetErrorHandlerMode(int id, int mode);
4938IRM_DLL_EXPORT IRM_RESULT RM_SetErrorOn(int id, int tf);
4960IRM_DLL_EXPORT IRM_RESULT RM_SetFilePrefix(int id, const char *prefix);
4961
4998IRM_DLL_EXPORT IRM_RESULT RM_SetGasCompMoles(int id, double* gas_moles);
4999
5038IRM_DLL_EXPORT IRM_RESULT RM_SetGasPhaseVolume(int id, double* gas_volume);
5039
5040
5138IRM_DLL_EXPORT IRM_RESULT RM_SetMpiWorkerCallback(int id, int (*fcn)(int *x1, void *cookie));
5209IRM_DLL_EXPORT IRM_RESULT RM_SetMpiWorkerCallbackCookie(int id, void *cookie);
5249IRM_DLL_EXPORT IRM_RESULT RM_SetNthSelectedOutput(int id, int n);
5287IRM_DLL_EXPORT IRM_RESULT RM_SetPartitionUZSolids(int id, int tf);
5313IRM_DLL_EXPORT IRM_RESULT RM_SetPorosity(int id, double *por);
5336IRM_DLL_EXPORT IRM_RESULT RM_SetPressure(int id, double *p);
5367IRM_DLL_EXPORT IRM_RESULT RM_SetPrintChemistryMask(int id, int *cell_mask);
5401IRM_DLL_EXPORT IRM_RESULT RM_SetPrintChemistryOn(int id, int workers, int initial_phreeqc, int utility);
5402
5431IRM_DLL_EXPORT IRM_RESULT RM_SetRebalanceByCell(int id, int method);
5462IRM_DLL_EXPORT IRM_RESULT RM_SetRebalanceFraction(int id, double f);
5500IRM_DLL_EXPORT IRM_RESULT RM_SetRepresentativeVolume(int id, double *rv);
5537IRM_DLL_EXPORT IRM_RESULT RM_SetSaturationUser(int id, double *sat);
5541IRM_DLL_EXPORT IRM_RESULT RM_SetSaturation(int id, double* sat);
5564IRM_DLL_EXPORT IRM_RESULT RM_SetScreenOn(int id, int tf);
5597IRM_DLL_EXPORT IRM_RESULT RM_SetSelectedOutputOn(int id, int selected_output);
5634IRM_DLL_EXPORT IRM_RESULT RM_SetSpeciesSaveOn(int id, int save_on);
5665IRM_DLL_EXPORT IRM_RESULT RM_SetTemperature(int id, double *t);
5685IRM_DLL_EXPORT IRM_RESULT RM_SetTime(int id, double time);
5705IRM_DLL_EXPORT IRM_RESULT RM_SetTimeConversion(int id, double conv_factor);
5727IRM_DLL_EXPORT IRM_RESULT RM_SetTimeStep(int id, double time_step);
5765IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsExchange(int id, int option);
5803IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsGasPhase(int id, int option);
5856IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsKinetics(int id, int option);
5894IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsPPassemblage(int id, int option);
5951IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSolution(int id, int option);
5989IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSSassemblage(int id, int option);
6027IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSurface(int id, int option);
6075IRM_DLL_EXPORT IRM_RESULT RM_SpeciesConcentrations2Module(int id, double * species_conc);
6106IRM_DLL_EXPORT IRM_RESULT RM_StateSave(int id, int istate);
6137IRM_DLL_EXPORT IRM_RESULT RM_StateApply(int id, int istate);
6160IRM_DLL_EXPORT IRM_RESULT RM_StateDelete(int id, int istate);
6201IRM_DLL_EXPORT IRM_RESULT RM_UseSolutionDensityVolume(int id, int tf);
6224IRM_DLL_EXPORT IRM_RESULT RM_WarningMessage(int id, const char *warn_str);
6225
6226#if defined(__cplusplus)
6227}
6228#endif
6229
6230#endif // RM_INTERFACE_C_H
Enumeration used to return error codes.
IRM_RESULT
Enumeration for PhreeqcRM function return codes.
Definition IrmResult.h:8
IRM_DLL_EXPORT IRM_RESULT RM_GetBackwardMapping(int id, int n, int *list, int *size)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueInt(int id, char *var, int *dest)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueChar(int id, char *var, char *dest, int l)
IRM_DLL_EXPORT IRM_RESULT RM_SetIthSpeciesConcentration(int id, int i, double *c)
IRM_DLL_EXPORT IRM_RESULT RM_SetTimeStep(int id, double time_step)
IRM_DLL_EXPORT IRM_RESULT RM_OpenFiles(int id)
IRM_DLL_EXPORT int RM_GetSelectedOutputCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetTime(int id, double time)
IRM_DLL_EXPORT int RM_GetSelectedOutputRowCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetComponentName(int id, char *component_name, int l)
IRM_DLL_EXPORT IRM_RESULT RM_SetRebalanceFraction(int id, double f)
IRM_DLL_EXPORT IRM_RESULT RM_UseSolutionDensityVolume(int id, int tf)
IRM_DLL_EXPORT int RM_BmiGetGridFaceCount(int id, const int grid)
IRM_DLL_EXPORT void RM_BmiGetGridFaceNodes(int id, const int grid, int *face_nodes)
IRM_DLL_EXPORT double RM_BmiGetTimeStep(int id)
IRM_DLL_EXPORT IRM_RESULT RM_DecodeError(int id, int e)
IRM_DLL_EXPORT IRM_RESULT RM_SetFilePrefix(int id, const char *prefix)
IRM_DLL_EXPORT IRM_RESULT RM_LoadDatabase(int id, const char *db_name)
IRM_DLL_EXPORT IRM_RESULT RM_RunFile(int id, int workers, int initial_phreeqc, int utility, const char *chem_name)
IRM_DLL_EXPORT int RM_GetGridCellCountYAML(const char *config_file)
IRM_DLL_EXPORT void RM_BmiSetValueAtIndices(int id, char *name, int *inds, int count, void *src)
IRM_DLL_EXPORT IRM_RESULT RM_SetErrorOn(int id, int tf)
IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueChar(int id, char *name, const char *src)
IRM_DLL_EXPORT IRM_RESULT RM_StateDelete(int id, int istate)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetPointableVarName(int id, int i, char *name, int l)
IRM_DLL_EXPORT IRM_RESULT RM_BmiUpdate(int id)
IRM_DLL_EXPORT int RM_GetSurfaceSpeciesCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_InitialSolutions2Module(int id, int *solutions)
IRM_DLL_EXPORT IRM_RESULT RM_SetSpeciesSaveOn(int id, int save_on)
IRM_DLL_EXPORT IRM_RESULT RM_SetComponentH2O(int id, int tf)
IRM_DLL_EXPORT int RM_FindComponents(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetGasPhaseVolume(int id, double *gas_volume)
IRM_DLL_EXPORT void RM_BmiGetGridY(int id, const int grid, double *y)
IRM_DLL_EXPORT IRM_RESULT RM_GetSelectedOutputHeading(int id, int icol, char *heading, int length)
IRM_DLL_EXPORT IRM_RESULT RM_GetDensity(int id, double *density)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesD25(int id, double *diffc)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetGridType(int id, int grid, char *str, int l)
IRM_DLL_EXPORT IRM_RESULT RM_InitialSolidSolutions2Module(int id, int *solid_solutions)
IRM_DLL_EXPORT IRM_RESULT RM_SetGasPhaseVolume(int id, double *gas_volume)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSSassemblage(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_GetIthSpeciesConcentration(int id, int i, double *c)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsGasPhase(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_CreateMapping(int id, int *grid2chem)
IRM_DLL_EXPORT IRM_RESULT RM_GetKineticReactionsName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_GetExchangeSpeciesName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT double RM_GetTimeConversion(int id)
IRM_DLL_EXPORT int RM_BmiGetGridNodeCount(int id, const int grid)
IRM_DLL_EXPORT int RM_BmiGetVarGrid(int id, char *var)
IRM_DLL_EXPORT int RM_BmiGetOutputItemCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetConcentrations(int id, double *c)
IRM_DLL_EXPORT IRM_RESULT RM_GetGfw(int id, double *gfw)
IRM_DLL_EXPORT int RM_GetMpiTasks(int id)
IRM_DLL_EXPORT int RM_GetChemistryCellCount(int id)
IRM_DLL_EXPORT int RM_GetKineticReactionsCount(int id)
IRM_DLL_EXPORT int RM_GetThreadCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_InitialPhreeqc2Module(int id, int *initial_conditions1, int *initial_conditions2, double *fraction1)
IRM_DLL_EXPORT IRM_RESULT RM_InitialEquilibriumPhases2Module(int id, int *equilibrium_phases)
IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompPhi(int id, double *gas_phi)
IRM_DLL_EXPORT IRM_RESULT RM_MpiWorkerBreak(int id)
IRM_DLL_EXPORT int RM_BmiCreate(int nxyz, int nthreads)
IRM_DLL_EXPORT IRM_RESULT RM_SetPrintChemistryMask(int id, int *cell_mask)
IRM_DLL_EXPORT IRM_RESULT RM_ScreenMessage(int id, const char *str)
IRM_DLL_EXPORT int RM_GetSolidSolutionComponentsCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiUpdateUntil(int id, double end_time)
IRM_DLL_EXPORT int RM_GetSpeciesSaveOn(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetScreenOn(int id, int tf)
IRM_DLL_EXPORT IRM_RESULT RM_SetRepresentativeVolume(int id, double *rv)
IRM_DLL_EXPORT IRM_RESULT RM_GetSIName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_GetEndCell(int id, int *ec)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesZ(int id, double *z)
IRM_DLL_EXPORT int RM_BmiGetVarItemsize(int id, char *name)
IRM_DLL_EXPORT void RM_BmiGetValueAtIndices(int id, char *name, void *dest, int *inds, int count)
IRM_DLL_EXPORT IRM_RESULT RM_GetComponent(int id, int num, char *chem_name, int l)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesName(int id, int i, char *name, int length)
IRM_DLL_EXPORT int RM_GetSICount(int id)
IRM_DLL_EXPORT void * RM_BmiGetValuePtr(int id, char *var)
IRM_DLL_EXPORT int RM_GetCurrentSelectedOutputUserNumber(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetMpiWorkerCallback(int id, int(*fcn)(int *x1, void *cookie))
IRM_DLL_EXPORT IRM_RESULT RM_RunString(int id, int workers, int initial_phreeqc, int utility, const char *input_string)
IRM_DLL_EXPORT double RM_BmiGetTime(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SpeciesConcentrations2Module(int id, double *species_conc)
IRM_DLL_EXPORT double RM_GetTimeStep(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetSelectedOutput(int id, double *so)
IRM_DLL_EXPORT IRM_RESULT RM_GetDensityCalculated(int id, double *density)
IRM_DLL_EXPORT IRM_RESULT RM_LogMessage(int id, const char *str)
IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompPressures(int id, double *gas_pressure)
IRM_DLL_EXPORT void RM_BmiGetGridZ(int id, const int grid, double *z)
IRM_DLL_EXPORT void RM_BmiGetGridOrigin(int id, const int grid, double *origin)
IRM_DLL_EXPORT IRM_RESULT RM_InitialExchanges2Module(int id, int *exchanges)
IRM_DLL_EXPORT IRM_RESULT RM_SetPartitionUZSolids(int id, int tf)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsExchange(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_SetMpiWorkerCallbackCookie(int id, void *cookie)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsPPassemblage(int id, int option)
IRM_DLL_EXPORT double RM_BmiGetCurrentTime(int id)
IRM_DLL_EXPORT int RM_GetIPhreeqcId(int id, int i)
IRM_DLL_EXPORT IRM_RESULT RM_SetPorosity(int id, double *por)
IRM_DLL_EXPORT IRM_RESULT RM_InitialPhreeqc2SpeciesConcentrations(int id, double *species_c, int n_boundary, int *boundary_solution1, int *boundary_solution2, double *fraction1)
IRM_DLL_EXPORT IRM_RESULT RM_BmiFinalize(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetVarUnits(int id, char *name, char *units, int l)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSurface(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_RunCells(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetConcentrations(int id, double *c)
IRM_DLL_EXPORT IRM_RESULT RM_GetSaturationCalculated(int id, double *sat_calc)
IRM_DLL_EXPORT IRM_RESULT RM_SetIthConcentration(int id, int i, double *c)
IRM_DLL_EXPORT int RM_BmiGetInputItemCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetCurrentSelectedOutputUserNumber(int id, int n_user)
IRM_DLL_EXPORT IRM_RESULT RM_SetDensity(int id, double *density)
IRM_DLL_EXPORT int RM_GetMpiMyself(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetTemperature(int id, double *t)
IRM_DLL_EXPORT IRM_RESULT RM_GetStartCell(int id, int *sc)
IRM_DLL_EXPORT IRM_RESULT RM_InitialGasPhases2Module(int id, int *gas_phases)
IRM_DLL_EXPORT int RM_GetComponentCount(int id)
IRM_DLL_EXPORT int RM_BmiGetGridSize(int id, int grid)
IRM_DLL_EXPORT int RM_Create(int nxyz, int nthreads)
IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueInt(int id, char *name, int src)
IRM_DLL_EXPORT IRM_RESULT RM_StateSave(int id, int istate)
IRM_DLL_EXPORT void RM_BmiGetGridSpacing(int id, const int grid, double *spacing)
IRM_DLL_EXPORT int RM_GetNthSelectedOutputUserNumber(int id, int n)
IRM_DLL_EXPORT int RM_Concentrations2Utility(int id, double *c, int n, double *tc, double *p_atm)
IRM_DLL_EXPORT IRM_RESULT RM_SetTimeConversion(int id, double conv_factor)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetValueDouble(int id, char *var, double *dest)
#define MP_TYPE
Definition RM_interface_C.h:10
IRM_DLL_EXPORT IRM_RESULT RM_InitialPhreeqcCell2Module(int id, int n, int *module_numbers, int dim_module_numbers)
IRM_DLL_EXPORT IRM_RESULT RM_InitialKinetics2Module(int id, int *kinetics)
IRM_DLL_EXPORT IRM_RESULT RM_GetExchangeName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_SetPrintChemistryOn(int id, int workers, int initial_phreeqc, int utility)
IRM_DLL_EXPORT IRM_RESULT RM_SetRebalanceByCell(int id, int method)
IRM_DLL_EXPORT IRM_RESULT RM_SetDensityUser(int id, double *density)
IRM_DLL_EXPORT int RM_BmiGetPointableItemCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetPressure(int id, double *pressure)
IRM_DLL_EXPORT IRM_RESULT RM_InitializeYAML(int id, const char *yamlfile)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesLog10Molalities(int id, double *species_log10molalities)
IRM_DLL_EXPORT IRM_RESULT RM_DumpModule(int id, int dump_on, int append)
IRM_DLL_EXPORT void RM_BmiGetGridX(int id, const int grid, double *x)
IRM_DLL_EXPORT int RM_GetExchangeSpeciesCount(int id)
IRM_DLL_EXPORT int RM_BmiGetGridEdgeCount(int id, const int grid)
IRM_DLL_EXPORT void RM_BmiGetGridEdgeNodes(int id, const int grid, int *edge_nodes)
IRM_DLL_EXPORT void RM_BmiGetGridShape(int id, const int grid, int *shape)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsSolution(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueDoubleArray(int id, char *name, double *src)
IRM_DLL_EXPORT int RM_BmiGetVarNbytes(int id, char *name)
IRM_DLL_EXPORT IRM_RESULT RM_GetGasComponentsName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesConcentrations(int id, double *species_conc)
IRM_DLL_EXPORT IRM_RESULT RM_InitialPhreeqc2Concentrations(int id, double *c, int n_boundary, int *boundary_solution1, int *boundary_solution2, double *fraction1)
IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceSpeciesName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_SetNthSelectedOutput(int id, int n)
IRM_DLL_EXPORT int RM_GetSelectedOutputColumnCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetDumpFileName(int id, const char *dump_name)
IRM_DLL_EXPORT IRM_RESULT RM_SetUnitsKinetics(int id, int option)
IRM_DLL_EXPORT IRM_RESULT RM_GetSolidSolutionName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceType(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_GetErrorString(int id, char *errstr, int l)
IRM_DLL_EXPORT void RM_BmiGetGridNodesPerFace(int id, const int grid, int *nodes_per_face)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetOutputVarName(int id, int i, char *name, int l)
IRM_DLL_EXPORT int RM_GetEquilibriumPhasesCount(int id)
IRM_DLL_EXPORT double RM_BmiGetStartTime(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetIthConcentration(int id, int i, double *c)
IRM_DLL_EXPORT IRM_RESULT RM_GetSolutionVolume(int id, double *vol)
IRM_DLL_EXPORT IRM_RESULT RM_CloseFiles(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiInitialize(int id, char *config_file)
IRM_DLL_EXPORT int RM_GetErrorStringLength(int id)
IRM_DLL_EXPORT int RM_GetSpeciesCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_StateApply(int id, int istate)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetInputVarName(int id, int i, char *name, int l)
IRM_DLL_EXPORT IRM_RESULT RM_GetSpeciesLog10Gammas(int id, double *species_log10gammas)
IRM_DLL_EXPORT IRM_RESULT RM_SetErrorHandlerMode(int id, int mode)
IRM_DLL_EXPORT IRM_RESULT RM_SetGasCompMoles(int id, double *gas_moles)
IRM_DLL_EXPORT IRM_RESULT RM_BmiDestroy(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiSetValueDouble(int id, char *name, double src)
IRM_DLL_EXPORT IRM_RESULT RM_Abort(int id, int result, const char *err_str)
IRM_DLL_EXPORT double RM_GetTime(int id)
IRM_DLL_EXPORT IRM_RESULT RM_SetPressure(int id, double *p)
IRM_DLL_EXPORT IRM_RESULT RM_GetPorosity(int id, double *porosity)
IRM_DLL_EXPORT int RM_GetGasComponentsCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetVarType(int id, char *name, char *vtype, int l)
IRM_DLL_EXPORT IRM_RESULT RM_GetSurfaceName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT int RM_GetGridCellCount(int id)
IRM_DLL_EXPORT IRM_RESULT RM_InitialSurfaces2Module(int id, int *surfaces)
IRM_DLL_EXPORT IRM_RESULT RM_Destroy(int id)
IRM_DLL_EXPORT IRM_RESULT RM_GetTemperature(int id, double *temperature)
IRM_DLL_EXPORT double RM_BmiGetEndTime(int id)
IRM_DLL_EXPORT IRM_RESULT RM_ErrorMessage(int id, const char *errstr)
IRM_DLL_EXPORT IRM_RESULT RM_GetSolidSolutionComponentsName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT IRM_RESULT RM_BmiAddOutputVars(int id, char *option, char *def)
IRM_DLL_EXPORT IRM_RESULT RM_SetSelectedOutputOn(int id, int selected_output)
IRM_DLL_EXPORT IRM_RESULT RM_WarningMessage(int id, const char *warn_str)
IRM_DLL_EXPORT IRM_RESULT RM_GetSaturation(int id, double *sat_calc)
IRM_DLL_EXPORT IRM_RESULT RM_GetEquilibriumPhasesName(int id, int num, char *name, int l1)
IRM_DLL_EXPORT int RM_BmiGetGridRank(int id, int grid)
IRM_DLL_EXPORT IRM_RESULT RM_OutputMessage(int id, const char *str)
IRM_DLL_EXPORT IRM_RESULT RM_BmiGetTimeUnits(int id, char *units, int l)
IRM_DLL_EXPORT IRM_RESULT RM_SetSaturation(int id, double *sat)
IRM_DLL_EXPORT IRM_RESULT RM_SetSaturationUser(int id, double *sat)
IRM_DLL_EXPORT void RM_BmiGetGridFaceEdges(int id, const int grid, int *face_edges)
IRM_DLL_EXPORT IRM_RESULT RM_GetViscosity(int id, double *viscosity)
IRM_DLL_EXPORT IRM_RESULT RM_GetFilePrefix(int id, char *prefix, int l)
IRM_DLL_EXPORT IRM_RESULT RM_GetGasCompMoles(int id, double *gas_moles)
IRM_DLL_EXPORT IRM_RESULT RM_MpiWorker(int id)