Exemple #1
0
    def test_read_write_geometry(self, sisl_tmp, sisl_system, sile):
        G = sisl_system.g.rotate(-30, sisl_system.g.cell[2, :])
        G.set_nsc([1, 1, 1])
        f = sisl_tmp("test_read_write_geom.win", _dir)
        # These files does not store the atomic species
        if issubclass(sile, (_ncSileTBtrans, deltancSileTBtrans)):
            return
        if sys.platform.startswith("win") and issubclass(sile, chgSileVASP):
            pytest.xfail(
                "Windows reading/writing supercell fails for some unknown reason"
            )

        # Write
        sile(f, mode="w").write_geometry(G)
        # Read 1
        try:
            with sile(f, mode='r') as s:
                g = s.read_geometry()
            assert g.equal(
                G, R=False,
                tol=1e-3)  # pdb files have 8.3 for atomic coordinates
        except UnicodeDecodeError as e:
            pass
        # Read 2
        try:
            with sile(f, mode='r') as s:
                g = Geometry.read(s)
            assert g.equal(G, R=False, tol=1e-3)
        except UnicodeDecodeError as e:
            pass
Exemple #2
0
 def test_read_write_geom(self):
     G = self.g.rotatec(-30)
     G.set_nsc([1, 1, 1])
     f = mkstemp(dir=self.d)[1]
     read_geometry = get_siles(['read_geometry'])
     for sile in get_siles(['write_geometry']):
         if not sile in read_geometry:
             continue
         # It is not yet an instance, hence issubclass
         if issubclass(sile, (HamiltonianSile, tbtncSileSiesta, dHncSileSiesta)):
             continue
         # Write
         sile(f, mode='w').write_geometry(G)
         # Read 1
         try:
             g = sile(f, mode='r').read_geometry()
             assert_true(g.equal(G, R=False))
         except UnicodeDecodeError as e:
             pass
         # Read 2
         try:
             g = Geometry.read(sile(f, mode='r'))
             assert_true(g.equal(G, R=False))
         except UnicodeDecodeError as e:
             pass
         # Clean-up file
         os.remove(f)
 def test_read_write_geom(self, sisl_tmp, sisl_system, sile):
     G = sisl_system.g.rotatec(-30)
     G.set_nsc([1, 1, 1])
     f = sisl_tmp('test_read_write_geom.win', _dir)
     # These files does not store the atomic species
     if issubclass(sile, (_ncSileTBtrans, deltancSileTBtrans)):
         return
     # Write
     sile(f, mode='w').write_geometry(G)
     # Read 1
     try:
         g = sile(f, mode='r').read_geometry()
         assert g.equal(G, R=False)
     except UnicodeDecodeError as e:
         pass
     # Read 2
     try:
         g = Geometry.read(sile(f, mode='r'))
         assert g.equal(G, R=False)
     except UnicodeDecodeError as e:
         pass
Exemple #4
0
 def test_read_write_geometry(self, sisl_tmp, sisl_system, sile):
     G = sisl_system.g.rotate(-30, sisl_system.g.cell[2, :])
     G.set_nsc([1, 1, 1])
     f = sisl_tmp("test_read_write_geom.win", _dir)
     # These files does not store the atomic species
     if issubclass(sile, (_ncSileTBtrans, deltancSileTBtrans)):
         return
     # Write
     sile(f, mode="w").write_geometry(G)
     # Read 1
     try:
         g = sile(f, mode="r").read_geometry()
         assert g.equal(G, R=False, tol=1e-3) # pdb files have 8.3 for atomic coordinates
     except UnicodeDecodeError as e:
         pass
     # Read 2
     try:
         g = Geometry.read(sile(f, mode="r"))
         assert g.equal(G, R=False, tol=1e-3)
     except UnicodeDecodeError as e:
         pass