From ec6751d947b0c459206aeae0b80e09e74f1cacfb Mon Sep 17 00:00:00 2001
From: BOULANGEOT Nathan <nathan.boulangeot@univ-lorraine.fr>
Date: Mon, 13 May 2024 09:41:04 +0000
Subject: [PATCH] Upload New File

---
 codes/create_descriptor.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 codes/create_descriptor.py

diff --git a/codes/create_descriptor.py b/codes/create_descriptor.py
new file mode 100644
index 0000000..1624693
--- /dev/null
+++ b/codes/create_descriptor.py
@@ -0,0 +1,22 @@
+import numpy as np
+from ase.io import Trajectory
+from dscribe.descriptors import SOAP
+import os
+import ase
+
+class create_descriptor():
+    def __init__(self,method='soap',params={'species':['Al','Co','H'],'l_max':2,'n_max':2,'r_cut':7},ats=0):
+        self.ats=ats
+        self.method=method
+        if method == 'soap':
+            self.decr=SOAP(periodic=True,**params)
+            self.title=method+'_l'+str(params['l_max'])+'_n'+str(params['n_max'])+'_r'+str(params['r_cut'])
+    def create(self,atoms,load=False,save_file=None):
+        if load and os.path.exists(save_file+'/'+self.title+'.npy'):  
+            X=np.load(save_file+'/'+self.title+'.npy')
+        else:
+            X=np.squeeze(self.decr.create(atoms,centers=[[self.ats]]*len(atoms)))
+            if load:
+                 np.save(save_file+'/'+self.title+'.npy',X)
+        return X
+    
\ No newline at end of file
-- 
GitLab