From 48a16c7fbf245e8063c4d37ef52d7633639b69d6 Mon Sep 17 00:00:00 2001
From: Marcin Kirsz <mkirsz@ed.ac.uk>
Date: Tue, 18 Feb 2025 21:23:44 +0000
Subject: [PATCH] mem manager

---
 include/tadah/mlip/trainer.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/include/tadah/mlip/trainer.h b/include/tadah/mlip/trainer.h
index aa56cae..e206917 100644
--- a/include/tadah/mlip/trainer.h
+++ b/include/tadah/mlip/trainer.h
@@ -8,6 +8,7 @@
 #include <tadah/mlip/nn_finder.h>
 #include <tadah/core/config.h>
 #include <tadah/models/dc_selector.h>
+#include <tadah/models/memory/IModelsWorkspaceManager.h>
 
 #include <iostream>
 
@@ -27,6 +28,22 @@ class Trainer {
       if(fb)
         delete fb;
     }
+    Trainer (Config &c, tadah::models::memory::IModelsWorkspaceManager& workspaceManager):
+      config(c),
+      DCS(config),
+      dc(config,*DCS.d2b,*DCS.d3b,*DCS.dmb,
+          *DCS.c2b,*DCS.c3b,*DCS.cmb),
+      nnf(config),
+      fb(CONFIG::factory<DM_Function_Base,Config&>(
+            config.get<std::string>("MODEL",1),config)),
+      model(CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>
+          (config.get<std::string>("MODEL",0),*fb,config,workspaceManager)),
+          //(config.get<std::string>("MODEL",0),*fb,config)),
+      dm(*fb, config)
+  {
+    config.postprocess();
+    config.check_for_training();
+  }
     Trainer (Config &c):
       config(c),
       DCS(config),
-- 
GitLab