def test_hdf5_overwrite(): filename = "matlib.h5" if filename in os.listdir("."): os.remove(filename) water = Material() water.from_atom_frac({10000000: 2.0, 80000000: 1.0}) water.metadata["name"] = "Aqua sera." lib = {"aqua": water} wmatlib = MaterialLibrary(lib) wmatlib.write_hdf5(filename, "/mats1") lib = {"leu": Material(leu)} umatlib = MaterialLibrary(lib) # test error raise if path already exists assert_raises(RuntimeError, umatlib.write_hdf5, filename, "/mats1", False) # test overwriting umatlib.write_hdf5(filename, "/mats1", h5_overwrite=True) rmatlib = MaterialLibrary() rmatlib.from_hdf5(filename, "/mats1") # Round trip! assert_equal(set(umatlib), set(rmatlib)) for key in rmatlib: assert_mat_almost_equal(umatlib[key], rmatlib[key]) os.remove(filename)
def test_matlib_hdf5_nuc_data(): matlib = MaterialLibrary() matlib.from_hdf5(nuc_data, "/materials") matlib.write_hdf5("matlib_test.h5") mat_lib_load_test = MaterialLibrary("matlib_test.h5") os.remove("matlib_test.h5") for key in matlib: assert_mat_almost_equal(matlib[key], mat_lib_load_test[key])
def test_matlib_hdf5(): filename = "matlib.h5" if filename in os.listdir("."): os.remove(filename) water = Material() water.from_atom_frac({10000000: 2.0, 80000000: 1.0}) water.metadata["name"] = "Aqua sera." lib = {"leu": Material(leu), "nucvec": nucvec, "aqua": water} wmatlib = MaterialLibrary(lib) wmatlib.write_hdf5(filename, "/mats1") rmatlib = MaterialLibrary() rmatlib.from_hdf5(filename, "/mats1") os.remove(filename) # Round trip! rmatlib.write_hdf5(filename, "/mats1") wmatlib = MaterialLibrary(filename, "/mats1") assert_equal(set(wmatlib), set(rmatlib)) for key in rmatlib: assert_mat_almost_equal(wmatlib[key], rmatlib[key]) os.remove(filename)
#!/usr/bin/env python3 from pyne.material import Material from pyne.material_library import MaterialLibrary mat_lib = MaterialLibrary() # Create a pyne material for copper copper = Material({'Cu': 1}) copper = copper.expand_elements() # Add to material library mat_lib["copper"] = copper # Create a pyne material for copper air = Material({'N': 0.784431, 'O': 0.210748, 'Ar': 0.004821}) air = air.expand_elements() # Add to material library mat_lib["air"] = air #graveyard = Material(); #mat_lib["graveyard"] = graveyard #vacuum = Material(); #mat_lib["vacuum"] = vacuum mat_lib.write_hdf5("material_library.h5", "/materials", "/nucid")