Skip to content

Commit da4d3de

Browse files
committed
Add code to support loading split transfer files
1 parent e30497b commit da4d3de

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

varipeps/peps/unitcell.py

+16-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import jax.numpy as jnp
1717
from jax.tree_util import register_pytree_node_class
1818

19-
from .tensor import PEPS_Tensor
19+
from .tensor import PEPS_Tensor, PEPS_Tensor_Split_Transfer
2020
import varipeps
2121
from varipeps.utils.random import PEPS_Random_Number_Generator
2222
from varipeps.utils.periodic_indices import calculate_periodic_indices
@@ -150,10 +150,21 @@ def load_from_group(
150150
HDF5 group object to load the data from.
151151
"""
152152
structure = tuple(tuple(int(j) for j in i) for i in grp["structure"])
153-
peps_tensors = [
154-
PEPS_Tensor.load_from_group(grp["peps_tensors"][f"t_{ti:d}"])
155-
for ti in range(grp["peps_tensors"].attrs["len"])
156-
]
153+
try:
154+
peps_tensors = [
155+
PEPS_Tensor.load_from_group(grp["peps_tensors"][f"t_{ti:d}"])
156+
for ti in range(grp["peps_tensors"].attrs["len"])
157+
]
158+
except KeyError as e:
159+
try:
160+
peps_tensors = [
161+
PEPS_Tensor_Split_Transfer.load_from_group(
162+
grp["peps_tensors"][f"t_{ti:d}"]
163+
)
164+
for ti in range(grp["peps_tensors"].attrs["len"])
165+
]
166+
except KeyError:
167+
raise e
157168

158169
return cls(structure=structure, peps_tensors=peps_tensors)
159170

0 commit comments

Comments
 (0)