def test_atoms_load_lmpdat__atom_type_labels_are_loaded_from_elements_if_no_comments( ): with Path("tests/test_atoms_load_save/atomic-masses-no-comments.lmpdat" ).open() as f: atoms = Atoms.load_lmpdat(f, atom_format="full") assert np.array_equal(atoms.atom_type_masses, [12., 14.]) assert np.array_equal(atoms.atom_type_labels, ["C", "N"])
def test_atoms_load_lmpdat__if_masses_are_nonatomic_then_elements_are_type_ids( ): with Path( "tests/test_atoms_load_save/nonatomic-masses.lmpdat").open() as f: atoms = Atoms.load_lmpdat(f, atom_format="full") assert np.array_equal(atoms.atom_type_masses, [12., 1000.]) assert np.array_equal(atoms.atom_type_elements, ["1", "2"])
def test_atoms_save_lmpdat__outputs_file_identical_to_input_file(): with Path("tests/uio66/uio66-linker-arb-terms.lmpdat").open() as f: sin = StringIO(f.read()) uio66_linker_ld = Atoms.load_lmpdat(sin, atom_format="full") sout = io.StringIO("") uio66_linker_ld.save_lmpdat(sout, file_comment="uio66-linker-arb-terms.lmpdat") # output file code, in case we need to update the lmpdat file because of new format changes # with open("uio66-linker-arb-terms.lmpdat", "w") as f: # sout.seek(0) # f.write(sout.read()) sout.seek(0) sin.seek(0) assert sout.read() == sin.read()
def test_atoms_load_lmpdat__atomic_masses_are_guessed_correctly(): with Path("tests/test_atoms_load_save/atomic-masses.lmpdat").open() as f: atoms = Atoms.load_lmpdat(f, atom_format="full") assert np.array_equal(atoms.atom_type_elements, ["C", "N"])
def test_atoms_load_lmpdat__has_arrays_of_right_size(): with Path("tests/uio66/uio66-linker-arb-terms.lmpdat").open() as f: atoms = Atoms.load_lmpdat(f, atom_format="full") check_uio66_arb_terms_arrays(atoms)
def uio66_linker_some_bonds(): # this was a modified UIO-66-F linker with bonds defined for the C-F bond. The F's have been # replaced by H's. with Path("tests/uio66/uio66-linker.lmpdat").open() as fd: yield Atoms.load_lmpdat(fd, atom_format="atomic")
def uio66_linker_no_bonds(): with Path("tests/uio66/uio66-linker-no-bonds.lmpdat").open() as fd: yield Atoms.load_lmpdat(fd, atom_format="atomic")