def test_box_expansion(): h2o = gt.System(box_size=[7, 7, 7]) h2o.add_solvent('h2o', n=5) ase_atoms = h2o.random().ase_atoms() intra = gt.GAP('intra') intra.mol_idxs = [[3*j + i for i in range(3)] for j in range(5)] calc = IICalculator(intra=intra, inter=gt.GAP('iter')) new_atoms = calc.expanded_atoms(atoms=ase_atoms) from timeit import repeat print('Expansion runs in ', min(repeat(lambda: calc.expanded_atoms(atoms=ase_atoms), number=100))/100, 's') write('tmp.xyz', new_atoms) ade_mol = ade.Molecule('tmp.xyz') assert ade_mol.distance(0, 1) < 2 # Å assert ade_mol.distance(0, 3) > 5 # Å os.remove('tmp.xyz')
def test_gap_train(): system = gt.System(box_size=[10, 10, 10]) training_data = gt.Data(name='test') training_data.load(system=system, filename=os.path.join(here, 'data', 'rnd_training.xyz')) assert len(training_data) == 10 assert len(training_data[0].atoms) == 31 if 'GT_GAP' not in os.environ or not os.environ['GT_GAP'] == 'True': return # Run GAP train with the training data gap = gt.GAP(name='test', system=system) gap.train(training_data)