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