simulation setup export function naming and description was inaccurate
This commit is contained in:
parent
8d59750b93
commit
ce7d2af6e3
|
@ -109,7 +109,7 @@ class Result:
|
||||||
if self.version_major != 0 or not 12 <= self.version_minor <= 14:
|
if self.version_major != 0 or not 12 <= self.version_minor <= 14:
|
||||||
raise TypeError(f'unsupported DADF5 version "{self.version_major}.{self.version_minor}"')
|
raise TypeError(f'unsupported DADF5 version "{self.version_major}.{self.version_minor}"')
|
||||||
if self.version_major == 0 and self.version_minor < 14:
|
if self.version_major == 0 and self.version_minor < 14:
|
||||||
self.export_setup = None # type: ignore
|
self.export_simulation_setup_files = None # type: ignore
|
||||||
|
|
||||||
self.structured = 'cells' in f['geometry'].attrs.keys()
|
self.structured = 'cells' in f['geometry'].attrs.keys()
|
||||||
|
|
||||||
|
@ -1951,13 +1951,13 @@ class Result:
|
||||||
return None if (type(r) == dict and r == {}) else r
|
return None if (type(r) == dict and r == {}) else r
|
||||||
|
|
||||||
|
|
||||||
def export_setup(self,
|
def export_simulation_setup_files(self,
|
||||||
output: Union[str, List[str]] = '*',
|
output: Union[str, List[str]] = '*',
|
||||||
target_dir: Union[str, Path] = None,
|
target_dir: Union[str, Path] = None,
|
||||||
overwrite: bool = False,
|
overwrite: bool = False,
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Export configuration files.
|
Export original simulation setup of Result object.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
----------
|
----------
|
||||||
|
@ -1988,8 +1988,8 @@ class Result:
|
||||||
print(f'"{cfg}" exists, {d} not exported.')
|
print(f'"{cfg}" exists, {d} not exported.')
|
||||||
elif type(obj) == h5py.Group:
|
elif type(obj) == h5py.Group:
|
||||||
cfg.mkdir(parents=True,exist_ok=True)
|
cfg.mkdir(parents=True,exist_ok=True)
|
||||||
|
|
||||||
cfg_dir = (Path.cwd() if target_dir is None else Path(target_dir))
|
cfg_dir = (Path.cwd() if target_dir is None else Path(target_dir))
|
||||||
|
|
||||||
cfg_dir.mkdir(parents=True,exist_ok=True)
|
cfg_dir.mkdir(parents=True,exist_ok=True)
|
||||||
with h5py.File(self.fname,'r') as f_in:
|
with h5py.File(self.fname,'r') as f_in:
|
||||||
f_in['setup'].visititems(partial(export,
|
f_in['setup'].visititems(partial(export,
|
||||||
|
|
|
@ -543,16 +543,16 @@ class TestResult:
|
||||||
'6grains6x7x8_single_phase_tensionY.hdf5'])
|
'6grains6x7x8_single_phase_tensionY.hdf5'])
|
||||||
@pytest.mark.parametrize('output',['material.yaml','*'])
|
@pytest.mark.parametrize('output',['material.yaml','*'])
|
||||||
@pytest.mark.parametrize('overwrite',[True,False])
|
@pytest.mark.parametrize('overwrite',[True,False])
|
||||||
def test_export_setup(self,ref_path,tmp_path,fname,output,overwrite):
|
def test_export_simulation_setup_files(self,ref_path,tmp_path,fname,output,overwrite):
|
||||||
r = Result(ref_path/fname)
|
r = Result(ref_path/fname)
|
||||||
r.export_setup(output,target_dir=tmp_path)
|
r.export_simulation_setup_files(output,target_dir=tmp_path)
|
||||||
with h5py.File(ref_path/fname,'r') as f_hdf5:
|
with h5py.File(ref_path/fname,'r') as f_hdf5:
|
||||||
for file in fnmatch.filter(f_hdf5['setup'].keys(),output):
|
for file in fnmatch.filter(f_hdf5['setup'].keys(),output):
|
||||||
with open(tmp_path/file) as f:
|
with open(tmp_path/file) as f:
|
||||||
assert f_hdf5[f'setup/{file}'][()][0].decode() == f.read()
|
assert f_hdf5[f'setup/{file}'][()][0].decode() == f.read()
|
||||||
r.export_setup(output,target_dir=tmp_path,overwrite=overwrite)
|
r.export_simulation_setup_files(output,target_dir=tmp_path,overwrite=overwrite)
|
||||||
|
|
||||||
def test_export_setup_custom_path(self,ref_path,tmp_path):
|
def test_export_simulation_setup_files_custom_path(self,ref_path,tmp_path):
|
||||||
src = ref_path/'4grains2x4x3_compressionY.hdf5'
|
src = ref_path/'4grains2x4x3_compressionY.hdf5'
|
||||||
subdir = 'export_dir'
|
subdir = 'export_dir'
|
||||||
absdir = tmp_path/subdir
|
absdir = tmp_path/subdir
|
||||||
|
@ -561,7 +561,7 @@ class TestResult:
|
||||||
r = Result(src)
|
r = Result(src)
|
||||||
for t,cwd in zip([absdir,subdir,None],[tmp_path,tmp_path,absdir]):
|
for t,cwd in zip([absdir,subdir,None],[tmp_path,tmp_path,absdir]):
|
||||||
os.chdir(cwd)
|
os.chdir(cwd)
|
||||||
r.export_setup('material.yaml',target_dir=t)
|
r.export_simulation_setup_files('material.yaml',target_dir=t)
|
||||||
assert 'material.yaml' in os.listdir(absdir); (absdir/'material.yaml').unlink()
|
assert 'material.yaml' in os.listdir(absdir); (absdir/'material.yaml').unlink()
|
||||||
|
|
||||||
@pytest.mark.parametrize('fname',['4grains2x4x3_compressionY.hdf5',
|
@pytest.mark.parametrize('fname',['4grains2x4x3_compressionY.hdf5',
|
||||||
|
|
Loading…
Reference in New Issue