@@ -1021,6 +1021,8 @@ def to_json(self, version=2, basisref=None):
1021
1021
rev_line = self .idp_sk .transform_bond (jan , ian )
1022
1022
for orbpair , slices in self .idp_sk .orbpair_maps .items ():
1023
1023
fiorb , fjorb = orbpair .split ("-" )
1024
+ if fiorb not in self .idp_sk .full_basis_to_basis [iasym ] or fjorb not in self .idp_sk .full_basis_to_basis [jasym ]:
1025
+ continue
1024
1026
iorb = self .idp_sk .full_basis_to_basis [iasym ].get (fiorb )
1025
1027
jorb = self .idp_sk .full_basis_to_basis [jasym ].get (fjorb )
1026
1028
if to_uniform :
@@ -1060,6 +1062,8 @@ def to_json(self, version=2, basisref=None):
1060
1062
rev_line = self .idp_sk .transform_bond (jan , ian )
1061
1063
for orbpair , slices in self .idp_sk .orbpair_maps .items ():
1062
1064
fiorb , fjorb = orbpair .split ("-" )
1065
+ if fiorb not in self .idp_sk .full_basis_to_basis [iasym ] or fjorb not in self .idp_sk .full_basis_to_basis [jasym ]:
1066
+ continue
1063
1067
iorb = self .idp_sk .full_basis_to_basis [iasym ].get (fiorb )
1064
1068
jorb = self .idp_sk .full_basis_to_basis [jasym ].get (fjorb )
1065
1069
if to_uniform :
@@ -1093,6 +1097,8 @@ def to_json(self, version=2, basisref=None):
1093
1097
for asym in self .idp_sk .type_names :
1094
1098
for orbpair , slices in self .idp_sk .skonsite_maps .items ():
1095
1099
fiorb , fjorb = orbpair .split ("-" )
1100
+ if fiorb not in self .idp_sk .full_basis_to_basis [asym ] or fjorb not in self .idp_sk .full_basis_to_basis [asym ]:
1101
+ continue
1096
1102
if fiorb != fjorb :
1097
1103
iorb = self .idp_sk .full_basis_to_basis [asym ][fiorb ]
1098
1104
jorb = self .idp_sk .full_basis_to_basis [asym ][fjorb ]
@@ -1112,6 +1118,8 @@ def to_json(self, version=2, basisref=None):
1112
1118
ian , jan = torch .tensor (atomic_num_dict [iasym ]), torch .tensor (atomic_num_dict [jasym ])
1113
1119
for orbpair , slices in self .idp_sk .orbpair_maps .items ():
1114
1120
fiorb , fjorb = orbpair .split ("-" )
1121
+ if fiorb not in self .idp_sk .full_basis_to_basis [iasym ] or fjorb not in self .idp_sk .full_basis_to_basis [jasym ]:
1122
+ continue
1115
1123
iorb = self .idp_sk .full_basis_to_basis [iasym ].get (fiorb )
1116
1124
jorb = self .idp_sk .full_basis_to_basis [jasym ].get (fjorb )
1117
1125
if to_uniform :
@@ -1128,6 +1136,8 @@ def to_json(self, version=2, basisref=None):
1128
1136
for asym in self .idp_sk .type_names :
1129
1137
for orbpair , slices in self .idp_sk .skonsite_maps .items ():
1130
1138
fiorb , fjorb = orbpair .split ("-" )
1139
+ if fiorb not in self .idp_sk .full_basis_to_basis [asym ] or fjorb not in self .idp_sk .full_basis_to_basis [asym ]:
1140
+ continue
1131
1141
iorb = self .idp_sk .full_basis_to_basis [asym ][fiorb ]
1132
1142
jorb = self .idp_sk .full_basis_to_basis [asym ][fjorb ]
1133
1143
if to_uniform :
@@ -1153,6 +1163,8 @@ def to_json(self, version=2, basisref=None):
1153
1163
soc_param = {}
1154
1164
for asym in self .idp_sk .type_names :
1155
1165
for fiorb , slices in self .idp_sk .sksoc_maps .items ():
1166
+ if fiorb not in self .idp_sk .full_basis_to_basis [asym ]:
1167
+ continue
1156
1168
iorb = self .idp_sk .full_basis_to_basis [asym ][fiorb ]
1157
1169
if to_uniform :
1158
1170
iorb = basisref [asym ][iorb ]
0 commit comments