diff --git a/pysipfenn/core/pysipfenn.py b/pysipfenn/core/pysipfenn.py index 5e06d95..29b684e 100644 --- a/pysipfenn/core/pysipfenn.py +++ b/pysipfenn/core/pysipfenn.py @@ -1,5 +1,6 @@ # General Imports import os +import gc import natsort from pySmartDL import SmartDL @@ -694,6 +695,17 @@ def writeDescriptorsToCSV(self, descriptor: str, file: str = 'descriptorData.csv f.write(f'{i},{",".join(str(v) for v in dd)}\n') i += 1 + def destroy(self) -> None: + """Deallocates all loaded models and clears all data from the Calculator object.""" + self.loadedModels.clear() + self.toRun.clear() + self.descriptorData.clear() + self.predictions.clear() + self.inputFiles.clear() + gc.collect() + print("Calculator and all loaded models deallocated. All data cleared.") + del self + def ward2ks2022(ward2017: np.ndarray) -> np.ndarray: """Converts a Ward 2017 descriptor to a KS2022 descriptor (which is its subset).