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
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
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