add wrapper to extract value of equal style and compatible variables

This commit is contained in:
Axel Kohlmeyer
2024-07-29 00:05:53 -04:00
parent 7d69535d78
commit aa3c287999
2 changed files with 21 additions and 0 deletions

View File

@ -102,6 +102,26 @@ void *LammpsWrapper::extract_atom(const char *keyword)
return val; return val;
} }
// note: equal style and compatible variables only
double LammpsWrapper::extract_variable(const char *keyword)
{
void *ptr = nullptr;
if (lammps_handle) {
#if defined(LAMMPS_GUI_USE_PLUGIN)
ptr = ((liblammpsplugin_t *)plugin_handle)->extract_variable(lammps_handle, keyword, nullptr);
#else
ptr = lammps_extract_variable(lammps_handle, keyword, nullptr);
#endif
}
double val = *((double *)ptr);
#if defined(LAMMPS_GUI_USE_PLUGIN)
ptr = ((liblammpsplugin_t *)plugin_handle)->free(ptr);
#else
lammps_free(ptr);
#endif
return val;
}
int LammpsWrapper::id_count(const char *keyword) int LammpsWrapper::id_count(const char *keyword)
{ {
int val = 0; int val = 0;

View File

@ -34,6 +34,7 @@ public:
void *extract_global(const char *keyword); void *extract_global(const char *keyword);
void *extract_pair(const char *keyword); void *extract_pair(const char *keyword);
void *extract_atom(const char *keyword); void *extract_atom(const char *keyword);
double extract_variable(const char *keyword);
int id_count(const char *idtype); int id_count(const char *idtype);
int id_name(const char *idtype, int idx, char *buf, int buflen); int id_name(const char *idtype, int idx, char *buf, int buflen);