From 8b1dedf04a3c16a6d21673734c64fb1ce9e90c79 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Jul 2021 17:21:57 -0400 Subject: [PATCH] add extract method to fix external --- src/fix_external.cpp | 15 ++++++++++++++- src/fix_external.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 8bede4ee19..4bc1e7eebc 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -238,7 +238,7 @@ void FixExternal::set_virial_peratom(double **caller_virial) void FixExternal::set_vector_length(int n) { - delete [] caller_vector; + delete[] caller_vector; vector_flag = 1; size_vector = n; @@ -342,3 +342,16 @@ void FixExternal::set_callback(FnPtr caller_callback, void *caller_ptr) callback = caller_callback; ptr_caller = caller_ptr; } + +/* ---------------------------------------------------------------------- + get access to internal data structures +------------------------------------------------------------------------- */ + +void *FixExternal::extract(const char *str, int &dim) +{ + if (strcmp(str, "fexternal") == 0) { + dim = 2; + return (void *) fexternal; + } + return nullptr; +} diff --git a/src/fix_external.h b/src/fix_external.h index 0ace978f99..f0f46cd4c5 100644 --- a/src/fix_external.h +++ b/src/fix_external.h @@ -57,6 +57,8 @@ class FixExternal : public Fix { typedef void (*FnPtr)(void *, bigint, int, tagint *, double **, double **); void set_callback(FnPtr, void *); + void *extract(const char *, int &); + private: int mode, ncall, napply, eflag_caller; FnPtr callback;