def testCuFcc(self):
     cu_fcc = bulk('Cu', 'fcc', a=3.6, cubic=True)
     config = TurboSOAPSpecie(rcut=2.5)
     turbosoap = TurboSOAP(species = {'Cu': config}, lmax=8)
     turbosoap_fcc = turbosoap.create(cu_fcc, periodic=True)
     self.assertEqual(turbosoap_fcc.shape[0], len(cu_fcc))
     self.assertEqual(turbosoap_fcc.shape[1], 324)
     self.assertAlmostEqual(np.dot(turbosoap_fcc[0], turbosoap_fcc[1]), 1.0, delta=1e-7)
 def testWaterMolecule(self):
     H_config = TurboSOAPSpecie(rcut=5.0, nmax=8, buffer=0.5, atom_sigma_r = 0.3, atom_sigma_t = 0.5,
         atom_sigma_r_scaling = 0.05, atom_sigma_t_scaling = 0.025)
     O_config = TurboSOAPSpecie(rcut=5.0, nmax=8, buffer=0.5, atom_sigma_r = 0.2, atom_sigma_t = 0.3,
         atom_sigma_r_scaling = 0.03, atom_sigma_t_scaling = 0.020)
     turbosoap = TurboSOAP(species = {'H': H_config,  'O': O_config}, lmax=10)
     water = molecule("H2O")
     turbosoap_water = turbosoap.create(water)
     self.assertAlmostEqual(np.dot(turbosoap_water[1], turbosoap_water[2]), 1.0, delta=1e-7)
     self.assertAlmostEqual(np.dot(turbosoap_water[0], turbosoap_water[1]), 0.0, delta=1e-3)
 def testWaterMoleculeSymbols(self):
     turbosoap = TurboSOAP(species = {'H': None,  'O': None}, lmax=8)
     water = molecule("H2O")
     turbosoap_water = turbosoap.create(water)
     self.assertEqual(turbosoap_water.shape[0], 3)
     self.assertEqual(turbosoap_water.shape[1], 1224)
 def testRcut(self):
     config = TurboSOAPSpecie(rcut=0.9)
     with self.assertRaises(ValueError):
         turbosoap = TurboSOAP(species = {'H': config,  'O': None}, lmax=8)
 def testMultipleSpeciesDefs(self):
     with self.assertRaises(ValueError):
         turbosoap = TurboSOAP(species = {'G': None,  'O': None}, lmax=8)
     with self.assertRaises(ValueError):
         turbosoap = TurboSOAP(species = {'G': None,  'O': None}, lmax=8)
 def testSpeciesMissing(self):
     turbosoap = TurboSOAP(species = {'H': None}, lmax=8)
     water = molecule("H2O")
     with self.assertRaises(ValueError):
         turbosoap_water = turbosoap.create(water)
 def testInvalidSymbols(self):
     with self.assertRaises(ValueError):
         turbosoap = TurboSOAP(species = {'G': None,  'O': None}, lmax=8)
 def testWaterMoleculeAtomicNumbers(self):
     turbosoap = TurboSOAP(species = {1: None,  8: None}, lmax=8)
     water = molecule("H2O")
     turbosoap_water = turbosoap.create(water)
     self.assertEqual(turbosoap_water.shape[0], 3)
     self.assertEqual(turbosoap_water.shape[1], 1224)
Example #9
0
from dscribe.descriptors import TurboSOAP

turbosoap = TurboSOAP(species={'H': None, 'O': None}, lmax=8)

from ase.build import molecule

#Water molecule
water = molecule("H2O")

#Create TurboSOAP output for water
turbosoap_water = turbosoap.create(water)

print(turbosoap_water.shape)
print(turbosoap_water)

from dscribe.descriptors.turbosoap import TurboSOAPSpecie

# More control on each species
H_config = TurboSOAPSpecie(rcut=5.0,
                           nmax=8,
                           buffer=0.5,
                           atom_sigma_r=0.3,
                           atom_sigma_t=0.5,
                           atom_sigma_r_scaling=0.05,
                           atom_sigma_t_scaling=0.025)
O_config = TurboSOAPSpecie(rcut=5.0,
                           nmax=8,
                           buffer=0.5,
                           atom_sigma_r=0.2,
                           atom_sigma_t=0.3,
                           atom_sigma_r_scaling=0.03,