Skip to content

Commit c9d35ae

Browse files
committed
Fix bugs in solid assemblage solver
1 parent 7a7a243 commit c9d35ae

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

src/libeq/solver/nr.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,9 @@ def _panic_save():
199199
np.abs(F) < threshold
200200
):
201201
if solids_to_remove.size != 0:
202-
x = np.insert(
203-
x, np.clip(solids_to_remove, a_min=0, a_max=x.shape[1]), 0, axis=1
204-
)
202+
temp = np.zeros((x.shape[0], n_components + n_solids))
203+
temp[:, ~np.isin(range(n_components + n_solids), solids_to_remove)] = x
204+
x = temp
205205
return x
206206

207207
if damping:

src/libeq/solver/solids_solver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def _update_solids_set(
164164
165165
"""
166166
adjust_solids = True
167-
negative_solid_concentration = c[:, point_log_ks.size :] < 0
167+
negative_solid_concentration = c[:, -point_log_ks.size :] < 0
168168
supersaturated_solid = saturation_index > 1 + 1e-9
169169

170170
# any negative solid concentration remove them from the solids set

0 commit comments

Comments
 (0)